如何知道以下代码将创建多少个对象?

2024-01-31

当涉及到字符串时,我对对象的情况感到有点困惑,所以想知道使用以下代码将创建多少个对象,以及有关字符串池和堆的字符串对象创建的一些解释。

 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(使用前将#替换为@)

如何知道以下代码将创建多少个对象? 的相关文章

随机推荐