Java String intern() 方法返回字符串对象的规范表示。
用法:
string.intern()
这里,string
是String
类的对象。
参数:
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 字符串 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
之后是相等的。
相关用法
- Java String indent()用法及代码示例
- Java String indexOf()用法及代码示例
- Java String isEmpty()用法及代码示例
- Java String valueOf()用法及代码示例
- Java String split()用法及代码示例
- Java String strip()用法及代码示例
- Java String getChars()用法及代码示例
- Java String substring()用法及代码示例
- Java String replace()用法及代码示例
- Java String contains()用法及代码示例
- Java String regionMatches()用法及代码示例
- Java String copyValueOf()用法及代码示例
- Java String toString()用法及代码示例
- Java String endsWith()用法及代码示例
- Java String lines()用法及代码示例
- Java String repeat()用法及代码示例
- Java String hashCode()用法及代码示例
- Java String lastIndexOf()用法及代码示例
- Java String equals()用法及代码示例
- Java String replaceAll()用法及代码示例
注:本文由纯净天空筛选整理自 Java String intern()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。