原文章链接:十分钟搞懂Java中的==、equals
intern()
jdk1.6: intern能使一个位于堆中的字符串(而不是引用)在运行期间动态地加入到字符串常量池中。
jdk1.7及之后: 如果在池中存在string,则返回string,不存在相应的string,把该字符串的引用加入string pool,并返回该引用。
解释
只要代码中出现了魔法值,字符串常量池中定有其存在! 这也就是上述代码第一次输出jdk1.7之后的结果为false的原因。
原文章链接:十分钟搞懂Java中的==、equals
jdk1.6: intern能使一个位于堆中的字符串(而不是引用)在运行期间动态地加入到字符串常量池中。
jdk1.7及之后: 如果在池中存在string,则返回string,不存在相应的string,把该字符串的引用加入string pool,并返回该引用。
只要代码中出现了魔法值,字符串常量池中定有其存在! 这也就是上述代码第一次输出jdk1.7之后的结果为false的原因。
相关文章: