手工修改引用的意思就是通过程序来手工修改 String 字符串使用的指针来获得我们需要的值。 手工修改指针的方法为intern()。 手工修改 String 在 String 存储池中的引用,JVM 将会在我们需
手工修改引用的意思就是通过程序来手工修改 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
【文章转自高防服务器 http://www.558idc.com 复制请保留原URL】