java常用类-String VS StringBuffer
String:对String类型的对象操作,等同于重新生成一个新对象,然后讲引用指向它;
StringBuffer:对StringBuffer类型的对象操作,操作的始终是同一个对象;
举例:
package com.java1234.chap05.sec02;
public class TestString {
public static void main(String[] args) {
String str="123";
str+="abc";
System.out.println(str);
}
}运行输出:
123abc

str原先指向的是123 通过+= 重新指向了123abc;
这里再举例StringBuffer:
package com.java1234.chap05.sec02;
public class TestStringBuffer {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer("123");
sb.append("abc");
System.out.println(sb.toString());
}
}运行输出:
123abc
这两个实例的内部运行有本质区别的:

StringBuffer里始终是一个对象;
总结下:假如定义的字符串内容基本不变或者很少变化,用String效率高;假如定义的字符串内容经常变动,要用StringBuffer;