在Java

时间:2017-03-23 10:26:32

标签: java

我在Java代码中有两行:

String str = new String("My place")
String str1 = new String("My place")

很明显,新的字符串(“我的地方”)会创建两个对象,一个是由于实习而另一个是由于,但我很困惑,因为这里的参数具有相同的文字,因此str1是否使用相同的实体对象导致3个对象或不同导致4个对象

2 个答案:

答案 0 :(得分:3)

字符串文字的实习在Java中是自动的,因此在两个构造函数中将使用相同的实习对象,因此将有三个对象,而不是四个。

答案 1 :(得分:-2)

str1将使用相同的interned对象产生3个对象,尝试使用equals方法进行处理