字符串常量池到底存放的是字符串引用还是字符串对象

2025-01-08 00:21:05
推荐回答(4个)
回答1:

会的。但是你的结论太草率了。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个字符串常量。差得远了。

回答2:

C/C++ 存的是对象,Java存的是引用。

回答3:

字符串的引用

回答4:

明确告诉你,答案是:对象!!!

不懂的话请戳网页链接

这篇文章讲的挺好的。