String的 intern关键字
Posted liweibing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String的 intern关键字相关的知识,希望对你有一定的参考价值。
注解 :
String a = new String("1"); a形参出现在栈上 , 同时堆上会出现一个a的地址值, 关键 1这个常量已经出现在常量池内了. 所以 a = a.intern() ; 无论用不用a来接收这个方法的返回值, a都指向常量池内的 1.
String b = a + a ; b形参出现在栈上 , 同时堆上会出现一个b的地址值, 但是 11 这个常量字符串还未存在在常量池内,这个时候 b.intern() , 这个时候常量11 , 指向的是 堆上b的地址值, 就算这时候 String c = "11"; 指向的也是对上b对象的地址值,不会有有个 "11" 这样的串单独存在于常量池上了.
以上是关于String的 intern关键字的主要内容,如果未能解决你的问题,请参考以下文章