这是关于字符串的一个非常基本的问题。有关字符串的基本查询
String str1 = "abc";
String str2 = "abc";
System.out.println("out put " + str1 == str2);
当我执行程序时,我感到震惊。我得到了false
。
据我,字符串文字字符串引用之间,如果另一个字符串要指向同一个字符串字面共享。 JVM将首先在String池中检查它,如果它不存在,那么它将创建一个并给出引用,否则它将在多个String引用之间共享,就像在这种情况下(根据我)。
所以,如果我用我的理论去那么它应该已经返回true
同时作为字符串参考点,以相同的字符串文字。
@broncoAbierto这不是同一个问题。 OP似乎很好地理解了引用比较,并且打算测试常量字符串interning。这个问题是运营商的优先。 – kiheru 2014-09-13 09:24:40
@kiheru你说得对。我收回我的评论。 – broncoAbierto 2014-09-13 09:28:36