字符串
intern()
方法的语法是:
string.intern()
这里,
string 是
String
类的对象。
intern() 参数
intern()
方法不带任何参数。
intern() 返回值
返回字符串的规范表示什么是 Java 字符串实习?
字符串实习确保具有相同内容的所有字符串使用相同的内存。
假设,我们这两个字符串:
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 and str2 doesn't share the same memory pool System.out.println(str1 == str2); // false // using the intern() method // now both str1 and str2 share the same memory pool str1 = str1.intern(); str2 = str2.intern(); System.out.println(str1 == str2); // true } }
如您所见,
str1 和
str2 具有相同的内容,但它们最初并不相等。
然后我们使用
intern()
方法,以便
str1 和
str2 使用相同的内存池。使用
intern()
后,
str1和
str2是相等的。