我在Java代码中有两行:
String str = new String("My place")
String str1 = new String("My place")
很明显,新的字符串(“我的地方”)会创建两个对象,一个是由于实习而另一个是由于新,但我很困惑,因为这里的参数具有相同的文字,因此str1是否使用相同的实体对象导致3个对象或不同导致4个对象
答案 0 :(得分:3)
字符串文字的实习在Java中是自动的,因此在两个构造函数中将使用相同的实习对象,因此将有三个对象,而不是四个。
答案 1 :(得分:-2)
str1将使用相同的interned对象产生3个对象,尝试使用equals方法进行处理