String、StringBuffer和StringBuilder的区别
String是不可变的对象, 因此在每次对String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,性能就会降低。
StringBuffer 和 StringBulider 都是对字符串进行操作 前者安全(synchronized) 后者 不安全
StringBuffer 和 StringBulider 提供都是相同方法
append 添加
String a = "abc";
String b = "bcd";
//使用+拼接字符串的效率非常低
String c = a+b;
StringBuffer s = new StringBuffer("abc");
s.append("bcd");
System.out.println(s);
最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。