讲讲三种创建String的区别,详细到字符串常量池和堆

代码1:


        String s1 = new String(new char[]{'a','b','c'});
        String s2 = new String("abc");
        String s3 = "abc";

代码2:

    char[] c = new char[]{'j','a','a'};
    String str3 = new String(c);
    str3.intern();
    System.out.println(str3 == str3.intern());  //为什么这里是true???底层发生了什么?

https://blog.csdn.net/Xiaofeng_Lu__/article/details/123459899

https://blog.csdn.net/weixin_42487516/article/details/85236116