<分区>
Possible Duplicate:
String equality vs equality of location
这是我的第一个问题,请耐心等待
我有以下代码:
String str1 = "hello";
String str2 = "hello";
System.out.println(str1 == str2);
结果是true
为什么?
<分区>
Possible Duplicate:
String equality vs equality of location
这是我的第一个问题,请耐心等待
我有以下代码:
String str1 = "hello";
String str2 = "hello";
System.out.println(str1 == str2);
结果是true
为什么?
最佳答案
当 Java 在编译期间发现相同的文字时,它会创建它的单个实例并将其引用到所有引用中。
str1 和 str2 都有相同的文字“hello”,所以 jvm 创建它的一个实例并将它分配给 str1 和 str2。
所以当你执行 str1==str2 时你得到 true。 (两者都引用同一个实例)
关于java - 为什么两个同名的字符串有相同的对象实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10776029/