Java intern()方法
intern()方法
Java中String类方法intern()可以用于返回字符串对象的规范化表示形式,而规范化表示形式则通常指的是字符串对象在字符串常量池中的表示。那什么又是字符串常量池呢?
当程序员在Java代码中创建了一个字符串字面量时,Java编译器首先会检查字符串常量池中是否已经存在该字符串,如果该字符串存在,则Java会直接返回对该字符串的引用;否则会通过intern()方法在字符串常量池中创建一个新字符串,并返回其引用。
提示:即便字符串的字面量相同,但如果是来自不同的Java堆内存的话(比如,一个来自堆中独立的对象,另一个则来自字符串常量池之中),二者也是不同的,或者说是不相等的,具体可参考下方的实例代码。
语法
intern()语法如下:
public String intern()
intern()参数
参数 | 描述 |
---|---|
无 | - |
intern()返回值
字符串对象的规范化表示形式。
intern()实例代码
:
public class test {
public static void main(String[] args) {
String str1 = new String("Hello,World!");
String str2 = "Hello,World!";
boolean t1 = str1 == str2;
System.out.println(t1);
str1 = str1.intern();
boolean t2 = str1 == str2;
System.out.println(t2);
}
}
代码运行后,得到输出值为:
false
true
免责声明:内容仅供参考,不保证正确性。