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关键字的主要内容,如果未能解决你的问题,请参考以下文章

C# 中“internal”关键字的实际用途

internal关键字

为啥 Visual Studio 2008 在 C++ 代码中突出显示 internal 作为关键字?

在C#中internal关键字是啥意思?

使用guava进行对字符串的加锁

在C#中internal关键字是什么意思?