面试题踩坑之String

    public static void main(String[] args) {
        String str = new StringBuilder("ja").append("va").toString();
        System.out.println(str == str.intern());//false

        System.out.println("=====================================================");
        String str2 = new StringBuilder("red").append("is").toString();
        System.out.println(str2 == str2.intern());//true
    }

输出结果为什么不一样?
原因:
在这里插入图片描述
在这里插入图片描述
实际上Version类里面已经有了一个定义好的字符串java,所以我们new出来的,和人家的实际上并不是同一个,此外,Version类里面的其他几个字符串也一样是如此的。详情参照**《深入理解java虚拟机》**第三版。

猜你喜欢

转载自blog.csdn.net/weixin_45596022/article/details/108201852
今日推荐