【发布时间】:2013-10-20 13:10:32
【问题描述】:
我正在阅读一些关于如何在 Java 中比较 String 之间的相等性的注释。
String s1 = new String("abc");
String s2 = new String("abc");
这两个分配在不同的内存中,所以它们的引用是不同的。 当我们调用
if (s1 == s2){ .. } // Comparing the reference, so return false
if(s1.equal(s2)){..} // Comparing content, so return true
那么,什么是
String s3 = "abc"
String s4 = "abc"?
内存是如何分配的,当我进行不同的相等检查时,会发生什么?
例如:
s3==s4
s3.equal(s4)
s3.equal(s1)
【问题讨论】:
标签: java