java - 为什么两个同名的字符串有相同的对象实例?

标签 java instance

<分区>

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/

相关文章:

java - 在 Java 中使用正则表达式提取值

java - Netbeans Ant 构建错误 'unsupported element customize'

java - Java中如何检查一个类是否有实例?

java - 如何在 Clojure 中捕获多个异常?

java - 恒温器到 DB,OOP 设计

python - 是否可以删除一个类的实例,该类的实例会自动将其从作为元素的所有列表中删除?

ios - 生成自定义 UIView 的 UINib 实例,出现 'not key value coding-compliant' 错误

python - 不希望实例看到 Python @classmethod

php - 替换字符串的第二个实例

java - java发生异常