String s = new String(“a”);
s.intern();
String s2 = “a”;
System.out.println(s == s2);
翔仔哥,在上面段代码中,在JDK8中,String s = new String(“a”);首先“a”被存放到常量池中,然后new了之后,在java堆中创建a对象,调用s.intern(),发现字符串常量池中存在a,就会返回该字符串的引用给s?,不就就没有否则之后的条款了吗
所以如果常量池中先前已创建出该字符串对象,则返回该字符串的引用,这句话到底什么意思,是返回给s吗,那返回了s==s2不就是true了吗?