当涉及到字符串时,我对对象的情况感到有点困惑,所以想知道使用以下代码将创建多少个对象,以及有关字符串池和堆的字符串对象创建的一些解释。
public static void main(String[] args) {
String str1 = "String1";
String str2 = new String("String1");
String str3 = "String3";
String str4 = str2 + str3;
}
将创建 4 个对象。
两个注意事项:
-
new String("something")
总是创建一个新对象。字符串文字"something"
只为所有出现的情况创建一个对象。最佳实践是永远不要使用new String("something")
- 实例化是多余的。
- 两个字符串的连接被转换为
StringBuilder.append(first).append(second).toString()
,所以这里创建了另一个对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)