StringBuffer和StringBuild两个类的区别主要是:
StringBuffer JDK1.0提供的类,线程安全,做线程同步检查,效率较低。
StringBuild JDK1.5提供的类,线程不安全,不做线程同步检查,因此效率较高。建议采用该类
package demo08;public class TestStringBuilder {public static void main(String[] args) {StringBuilder builder = new StringBuilder("123");builder.append("321");//在末尾追加子串System.out.println(builder);builder.append("abc");builder.append("xyz");System.out.println(builder);builder.insert(3,"EF");System.out.println(builder);builder.setCharAt(3,'G');System.out.println(builder);builder.replace(3,6,"000");System.out.println(builder);builder.deleteCharAt(3);System.out.println(builder);builder.delete(6,builder.length());System.out.println(builder);builder.reverse();System.out.println(builder.toString());//StringBuffer---->StringString str = builder.toString();System.out.println(str);}
}
运行结果:
StringBuild类底层和String类一样,也是一个字符串数组value,但是不是final的,变量count表示的是底层字符串数组的元素的真实个数,不是底层字符数组
的长度。