对象相等(对象引用“==”)

时间:2014-12-30 07:32:32

标签: java string object operators equality

我在eclipse中编写了这段代码:

String[] s = {"a","b"}; String d = "a"; System.out.println(s[0]==d);

它正在给予" true"作为输出。

" =="检查对象引用,如果两个对象引用同一个对象,但在这种情况下对象" d"是指不同的对象和" s [0]"为了与众不同,他们为何如此平等。

1 个答案:

答案 0 :(得分:0)

"a"将在JVM使用的字符串池中创建。

作为优化,只会创建该字符串的一个实例。 Java可以这样做,因为字符串不可变。这就是引用引用相同底层对象的原因,因此在这个特定实例中,引用比较相等。