在Java中最常将字符串作为String类型对象来处理。同时String中也提供了很多操作字符串的函数(可自行查阅资料),而本篇将介绍StringBuffer如何操作字符串。

StringBuffer是使用缓冲区的,本身也是操作字符串的,但与String类不同,String类中的内容一旦声明之后不可改变,改变的只是其内存地址的指向,而StringBuffer中的内容是可以改变的,

对于StringBuffer而言,本身是一个具体的操作类,所以不能像String那样采用直接赋值的方式进行对象实例化,必须通过构造方法完成。

StringBuffer连接字符操作

  • 当一个字符串的内容需要被经常改变时就要使用StringBuffer
  • 在StringBuffer中使用append()方法,完成字符串的连接操作

java字符串连接操作(append) 

public class StringBufferDemo01{
    public static void main(String args[]){
        StringBuffer buf = new StringBuffer() ;    // 声明StringBuffer对象 
        buf.append(\"Hello \") ;                    // 向StringBuffer中添加内容
        buf.append(\"World\").append(\"!!!\") ;        // 可以连续调用append()方法
        buf.append(\"\\n\") ;                        // 添加一个转义字符
        buf.append(\"数字 = \").append(1).append(\"\\n\") ;    // 添加数字
        buf.append(\"字符 = \").append(\'C\').append(\"\\n\");     // 添加字符
        buf.append(\"布尔 = \").append(true) ;    // 添加布尔值
        System.out.println(buf) ;            // 直接输出对象,调用toString()
    }
};

运行结果:

Hello World!!!
数字 = 1
字符 = C
布尔 = true

 

java字符串添加内容(insert)

public class StringBufferDemo03{
    public static void main(String args[]){
        StringBuffer buf = new StringBuffer() ;    // 声明StringBuffer对象 
        buf.append(\"World!!\") ;        // 添加内容
        buf.insert(0,\"Hello \") ;        // 在第一个内容之前添加内容
        System.out.println(buf) ;
        buf.insert(buf.length(),\"偶my耶~\") ;    // 在最后添加内容
        System.out.println(buf) ;
    }
};

运行结果:

Hello World!!
Hello World!!偶my耶~

 

java字符串反转(reverse)

public class StringBufferDemo04{
    public static void main(String args[]){
        StringBuffer buf = new StringBuffer() ;    // 声明StringBuffer对象 
        buf.append(\"World!!\") ;        // 添加内容
        buf.insert(0,\"Hello \") ;        // 在第一个内容之前添加内容
        String str = buf.reverse().toString() ;    // 将内容反转后变为String类型
        System.out.println(str) ;        // 将内容输出
    }
};

 

java替换字符串指定内容(replace)

public class StringBufferDemo05{
    public static void main(String args[]){
        StringBuffer buf = new StringBuffer() ;    // 声明StringBuffer对象 
        buf.append(\"Hello \").append(\"World!!\") ;        // 向StringBuffer添加内容
        buf.replace(6,11,\"偶my耶\") ;        // 将world的内容替换
        System.out.println(\"内容替换之后的结果:\" + buf) ;    // 输出内容
    }
};

 

java字符串截取(substring,delete)

public class StringBufferDemo06{
    public static void main(String args[]){
        StringBuffer buf = new StringBuffer() ;    // 声明StringBuffer对象 
        buf.append(\"Hello \").append(\"World!!\") ;        // 向StringBuffer添加内容
        buf.replace(6,11,\"偶my耶\") ;        // 将world的内容替换
        String str = buf.substring(6,11) ;    // 截取指定范围的内容
     // String str = buf.delete(6,11).toString() ;// 删除指定范围中的内容
        System.out.println(buf);
        System.out.println(\"内容替换之后的结果:\" + str) ;    // 输出内容
    }
}; 

 

java字符串查找(indexOf)

public class StringBufferDemo08{
    public static void main(String args[]){
        StringBuffer buf = new StringBuffer() ;    // 声明StringBuffer对象 
        buf.append(\"Hello \").append(\"World!!\") ;        // 向StringBuffer添加内容
        if(buf.indexOf(\"Hello\")==-1){
            System.out.println(\"没有查找到指定的内容\") ;
        }else{    // 不为01表示查找到内容
            System.out.println(\"可以查找到指定的内容\") ;
        }
    }
};

 

收藏 打印