1,2:java vm 中有个 string 池 ,s = "xxx" ,java 会先到 string 池中找,如果有,就不新建对象了 ,而使用 new 的,就会在程序空间里创建新的 string,而不去池里找
3,4,5,6:for any two strings s and t, s.intern() == t.intern() is true if and only if s.equals(t) is true.
3,4,5,6:for any two strings s and t, s.intern() == t.intern() is true if and only if s.equals(t) is true.
false
false
true
trueobj3 == obj5
一个是String的实例,一个是对象的引用
在进行==运算时,一个取值,一个取地址,故不等
你比较obj4==obj5就是TRUE
因为调用inern coordinate(什么) 的解释是正确的
参看JDk文档false