String :字符串常量,值不能改变。
String s="abc";
s=s+"def";
System.out.println(s);
输出结果为: abcdef
s=s+"def";
这不是改变变量s的值,而是JVM自动创建了一个值为“abcdef”的新对象,并由s指向它,前一个对象(String s="abc")由自动回收机制来管理。
StringBuilder :是字符串变量,线程不安全,但速度快,适合于处理单线程下操作大量数据。
StringBuffer:是字符串变量,线程安全的,速度比StringBuilder慢,适合用于处理多线程操作大量数据时使用。
String :字符串常量,适合处理少量数据。