JAVA学习笔记-StringBuilder和StringBuffer

StringBuilder和StringBuffer是可变字符序列

区别:

StringBuilder的线程不安全,但是效率高。

StringBuffer的线程安全,但是效率低。

StringBuilder:

StringBuilder sb = new StringBuilder(); //这里初始化一个默认长度16的char数组

StringBuilder sb = new StringBuilder(32); //这里初始化一个长度为32的char数组

StringBuilder sb = new StringBuilder("abcd");//这里初始化一个长度为4+16=20的char数组。value[]={'a','b','c','d',\u0000,\u0000...}

sb.append("edf"); //value[]={'a','b','c','d','e','d','f',\u0000,\u0000...}

方法链:

sb.append("edf").append("ghi").append("jkl");//因为append方法里面返回值为retuen this;所以前面的sb.append("edf")可以被看作为sb,从而实现方法链!

System.out.println(sb);

StringBuilder gh = new StringBuilder("a");//但是这里有个问题,如果i

  for(int i=0;i<10;i++){

    gh.append(i);

  }

System.out.println(gh);  //这样的话,从始至终只生成了2个对象,很好的解决了之前的String类的资源浪费的问题。

转载于:https://www.cnblogs.com/iamAnonymous/p/6054568.html

你可能感兴趣的:(JAVA学习笔记-StringBuilder和StringBuffer)