
Java String intern()方法返回字符串对象的规范表示。
字符串intern()方法的语法为:
string.intern()
在这里,string是String该类的一个对象。
intern()参数
不带任何参数
intern()返回值
返回字符串的规范表示
什么是Java String Interning?
字符串嵌入确保所有具有相同内容的字符串使用相同的内存。
假设我们有两个字符串:
String str1 = "xyz"; String str2 = "xyz";
由于两者str1和str2具有相同的内容,因此这两个字符串将共享相同的内存。Java自动插入字符串字面量。
但是,如果使用new关键字创建字符串,则这些字符串将不会共享相同的内存。例如,
class Main {
public static void main(String[] args) {
String str1 = new String("xyz");
String str2 = new String("xyz");
System.out.println(str1 == str2); // false
}
}从该示例可以看到,两者str1和str2具有相同的内容。但是,它们并不相等,因为它们不共享相同的内存。
在这种情况下,您可以手动使用intern()方法,以便对具有相同内容的字符串使用相同的内存。
示例:Java String intern()
class Main {
public static void main(String[] args) {
String str1 = new String("xyz");
String str2 = new String("xyz");
//str1和str2不共享相同的内存池
System.out.println(str1 == str2); // false
//使用intern()方法
//现在,str1和str2都共享同一个内存池
str1 = str1.intern();
str2 = str2.intern();
System.out.println(str1 == str2); // true
}
}正如你所看到的,str1和str2具有相同的内容,但它们不是一开始相等。
然后,我们使用intern()方法,以便str1和str2使用相同的内存池。 使用intern()之后,str1和str2相等。