今天看到这样一段代码,执行后结果一个是true,一个是false。我有点不理解,代码是:
String s1 = new StringBuilder("go").append("od").toString();
System.out.println("s1:"+s1);
System.out.println("s1.intern():"+s1.intern());
System.out.println(s1.intern() == s1); //true
String s2 = new StringBuilder("ja").append("va").toString();
System.out.println("s2:"+s2);
System.out.println("s2.intern():"+s2.intern());
System.out.println(s2.intern() == s2); //false
运行结果是: