DESKTOP-CAEV9LP_20200828-湛良通

问题

public static void main(String[] args) {

        char[] data = { 'h', 'e', 'l', 'l', 'o' };
    
        String x = new String(data);
        System.out.println(System.identityHashCode(x));

        String t = x.intern();
        System.out.println(System.identityHashCode(t));

        String s = "hello";
        System.out.println(System.identityHashCode(s));
        System.out.println(s == x); // true
        System.out.println(t == s); // true
        System.out.println(x == t); // true

    }

返回结果
604107971
604107971
604107971
true
true
true

那么这时的 引用变量 t 与 s 都是指向堆中的String实例对吧

那么字符串池中存放的是 指向堆中的String实例的地址

字符串池中就没有 新的String实例

这样理解对不对

吐槽

好快一周就又过去了,转眼就又要考试了。

标签

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1