手工修改引用的意思就是通过程序来手工修改 String 字符串使用的指针来获得我们需要的值。

手工修改指针的方法为 intern()。

手工修改 String 在 String 存储池中的引用,JVM 将会在我们需要的时候返回这个引用。

 

让我们来创建一个测试用例:

String constantString = "interned HoneyMoose";

String newString = new String("interned HoneyMoose");

assertThat(constantString).isNotSameAs(newString);

String internedString = newString.intern();

assertThat(constantString)

.isSameAs(internedString);

上面代码中的第一次判断是不相同的,后来我们在创建一个新的 String 的对象的时候,使用了一个已经创建的 String 字符串的引用,那么我们的后面再进行判断的时候就是相同的了。

 

https://www.ossez.com/t/java-string-pool/14017

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。