
它们具有相同的 最终结果 ,但它们并不相同(它们将产生不同的字节码;
newString("foo").intern()版本实际上经过了这些步骤,生成了新的字符串对象,然后对其进行中间化)。来自
String#intern以下两个相关引号:
intern调用该方法时,如果池中已经包含与该方法String确定的对象相等equals(Object)的字符串,则返回池中的字符串。否则,将此String对象添加到池中,并String返回对该对象的引用。所有文字字符串和字符串值常量表达式都将被插入。
因此, 最终结果 是相同的:引用内部字符串“ foo”的变量。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)