会的。但是你的结论太草率了。StringBuilder另外会创建一个可变长度的对象来供操作。例如:Stringstr="abc"+"hello"+“world”;考考你,总共有几个字符串对象?答案是有5个。每一个+都会产生一个字符串,因此如果你不用StringBuilder则每多一个+就会多产生2个字符串。而如果你写成:StringBuilderstrb=newStringBuilder("abc");strb.append("hello");strb.append("world");这里只有3个字符串常量和一个StringBuffer对象。每多append一个新的字符串,最多多出一个对象来。因此你可以看到差别。如果连接的字符串数量越多,StringBuilder的好处越明显。---------------------------------------------PS:连接100个字符串常量,是会产生100个字符串常量和一个StringBuffer对象。你用+的话,算算看要199个字符串常量。差得远了。
C/C++ 存的是对象,Java存的是引用。
字符串的引用
明确告诉你,答案是:对象!!!
不懂的话请戳网页链接
这篇文章讲的挺好的。