String比较? 用==判断两个字符串,有时为true有时为false

昨天在技术交流群发现一个问题,本身试了一下,也没找到缘由。 代码以下java

public static void main(String[] args) {
        String str1 = new String("ja1") + new String("va");
        str1.intern();
        String str2 = "ja1va";
        System.out.println("判断结果" + (str1 == str2));
    }

输出结果:
3d

结果为true
如今来改变变量的值
code

结果为false,为毛?blog

莫非java是关键字,继续改变量值
莫非“zhongguo” 也为关键字,不可能吧,继续改:
class

通过反复屡次的尝试,发现只有当 值为“java” 的时候输出为false变量

改变成其它值都为true,疑惑了,有谁知道缘由么?im

相关文章
相关标签/搜索