StringBuffer类的使用

来源:互联网 发布:数据库外模式 编辑:程序博客网 时间:2024/05/16 07:09

1.StringBuffer是字符串缓冲区

是一个容器
特点:

  • 长度是可变化的
  • 可以直接操作多个数据类型
  • 最终通过toString 方法变成字符串
  • 可以对字符串进行修改

注意:StringBuffer是线程安全的,但是效率比较低,开发如果对线程没有要求建议使用StringBuilder,两者操作函数一致

2.StringBuffer常用的操作函数

public class StringBufferDemo {    //添加    public static void method_add(){        StringBuffer sb=new StringBuffer();        sb.append("abc").append(true).append(34);//      StringBuffer s1=sb.append(34);//      sop("sb==s1:"+(sb==s1));//true        sop(sb.toString());//abctrue34        sb.insert(1,"qq");        sop(sb.toString());//aqqbctrue34//      sop(s1.toString());//34,只有34时的结果    }    //删除    public static void method_del(){        StringBuffer sb=new StringBuffer("abcdef");        //sb.delete(1, 3);//adef        //sb.delete(2,3);//删除c        sb.deleteCharAt(2);//删除c,方便一点        //清空缓冲区        //sb.delete(0, sb.length());        sop(sb.toString());    }    /**     * 获取(不做演示)     * char charAt(int index)       * int indexOf(String str)       * int lastIndexOf(String str, int fromIndex)       * int length();     * String substring(int start,int end)     */    //修改    public static void method_update(){        StringBuffer sb=new StringBuffer("abcdef");//      sb.replace(1, 4, "java");//ajavadef        sb.setCharAt(2, 'k');//abkdef        sop(sb.toString());    }    //反转:StringBuffer reverse()      //void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)      public static void method(){        StringBuffer sb=new StringBuffer("abcdef");        char[] chs=new char[4];        sb.getChars(1, 4, chs, 1);//将bcd存入到chs数组中,从chs数组的1角标开始        for(int i=0;i<chs.length;i++){            sop("chs["+i+"]="+chs[i]);        }        /*         结果:chs[0]=             chs[1]=b              chs[2]=c             chs[3]=d        */    }    public static void sop(String str){        System.out.println(str);    }    public static void main(String[] args) {        method_add();        method_del();        method_update();        method();    }}
0 0