intern()在java中是什么
时间: 2024-04-15 14:27:41 浏览: 181
java中的内部类
在 Java 中,`intern()` 是一个字符串方法,它用于在运行时将字符串添加到字符串常量池中,并返回对字符串常量池中对应字符串的引用。
当你使用 `intern()` 方法调用一个字符串时,Java 会首先检查字符串常量池中是否已经存在该字符串。如果存在,则返回对该字符串的引用;如果不存在,则将该字符串添加到常量池中,并返回对该新字符串的引用。
这个方法的主要应用是在比较字符串时,可以使用 `==` 运算符来比较两个字符串的引用,而不需要使用 `equals()` 方法来比较它们的内容。这样可以提高字符串比较的性能,因为比较引用的操作比比较内容的操作更快。
以下是一个示例:
```java
String str1 = new String("Hello");
String str2 = "Hello";
String str3 = str1.intern();
System.out.println(str1 == str2); // 输出: false
System.out.println(str2 == str3); // 输出: true
```
在这个例子中,`str1` 和 `str2` 是两个不同的字符串对象,它们的内容相同。使用 `==` 运算符比较它们的引用会返回 `false`。然而,通过调用 `intern()` 方法将 `str1` 添加到常量池中,并将返回的引用赋给 `str3`,此时 `str3` 和 `str2` 引用的是同一个字符串对象,所以比较它们的引用会返回 `true`。
阅读全文