String是创建值不可改变的对象
String s=
"abc";
s=
"ad"
//其实内存创建了两个对象
"abc",
"ad",然后将引用指向改变
StringBuilder则是创建值可以改变的对象
StringBuilder builder=
new StringBuilder(
"abc").
append(
"ad");
以上两者比较是StringBuilder比较快,而且节省内存。当经常需要对String 修改时推荐Stringbuilder,作常量时可以用String.StringBuffer与StringBuilder相比则是线程上的差异,StringBuilder一般用于单线程中对于数据的读取,是线程不安全的;一般用于单线程。StringBuffer则是用于多线程中需要经常改变的值,保证线程安全。平时不涉及到多线程的话尽量使用StringBuilder,比StringBuffer快。