inter()方法会先检查String池中是否存在字符部分相同的字符串对象,如果有就返回。
/*
* 作者:阳光的味道
* 功能:示范String类的对象的intern()方法
* 日期:2010/11/07
* */
public class TesStringIntern {
public static void main(String args[]){
String str1 = "1";
String str2 = "2";
String str3 = "12";
String str4 = null;
str4 = str1 + str2 ;
System.out.println(str4 == str3);
str4 = (str1 + str2).intern();
System.out.println(str4 == str3);
}
}
程序输出的结果是:
false
true
分享到:
相关推荐
该方法返回一个字符串对象的内部化引用,由 String 类维护一个初始为空的字符串的对象池,当 intern 方法被调用时,如果对象池中已经包含这一个相等的字符串对象则返回对象池中的实例,否则添加字符串到对象池并返回...
`String`类的`intern()`方法用于获取常量池中的字符串引用。如果常量池中已存在该字符串,则返回其引用;否则,将字符串添加到常量池并返回引用。例如: ```java String str4 = new String("Hello").intern(); //...
intern 方法是 Java String 类中的一个native 方法,它的主要作用是将字符串对象存储在字符串常量池中,以便重复使用相同的字符串对象。intern 方法会检查字符串常量池中是否已经存在一个与当前字符串对象相同的字符...
关于String.intern()方法,这个问题都被问烂了,有的文章在分析的时候还在用jdk1.7,jdk1.8之后内存模型发生了变化,内存的变化也会影响intern方法的执行,这里有必要写文章分析一下,请大家务必从头开始看,这样...
21. `intern()`方法返回字符串对象的规范化表示形式,Java虚拟机会保证同一个字符串(内容相同)在不同的地方调用intern方法返回的是同一个实例。 22. `getBytes(Charset charset)`方法用于使用指定的字符集将字符...
`String`类的`intern()`方法返回池中字符串的引用。如果字符串不在池中,它会被添加到池中并返回其引用。这个方法在优化内存使用和避免重复对象时非常有用。 ### 8. 格式化输出 `String`类还提供了`format()`方法,...
在实际开发中,String#intern() 方法可以用于减少字符串对象的创建,提高程序的性能。但是,需要注意的是,在 Java6 中,字符串常量池的大小是有限的,需要合理地使用该方法,以避免 Perm 空间溢出。 Java String#...
### Java String对象的经典问题 #### 一、String 类与对象机制概述 在Java中,`String`类是一个非常重要的类,它提供了丰富的功能用于处理文本数据。`String`类是不可变的(immutable),这意味着一旦一个`String`...
String.intern()方法是Java中的一个方法,它可以将一个String对象添加到常量池中。如果在常量池中已经存在相同的Unicode字符串常量,那么String.intern()方法将返回该常量池中的字符串常量的引用,否则,它将在常量...
intern() 方法用于将 String 对象添加到 String 池中。如果 String 池中已经存在该字符串,则返回该字符串的引用;否则,创建一个新的字符串对象并添加到 String 池中。 Java 中的 Object 对象和 String 对象是两个...
在Java中,每个String对象都有一个唯一的标识符,这个标识符是通过String对象的intern方法获取的。intern方法将字符串对象添加到字符串常量池中,并返回该字符串对象的引用。如果字符串常量池中已经存在该字符串对象...
为了更好地理解和使用String类,本文将从几个关键方面入手,探讨如何更加高效、合理地使用String对象。 #### 一、初始化String对象 **1.1 直接赋值** 最常见的初始化方式是通过直接赋值的方式创建String对象: ``...
在Java编程语言中,`String`类是极其重要的,它提供了许多用于操作字符串的方法,其中之一便是`intern()`。深入理解`String#intern()`方法对于优化内存使用和理解Java的内存模型至关重要。`intern()`方法是一个非常...
如果不是用双引号声明的String对象,可以使用String提供的intern方法。intern方法会从字符串常量池中查询当前字符串是否存在,若不存在就会将当前字符串放入常量池中。 在Java中,字符串常量池存在于方法区中。方法...
当我们创建一个String对象时,有两种常见的方法:使用字面量和使用new关键字。例如: ```java String s1 = "Hello"; String s2 = new String("Hello"); ``` 在上述例子中,s1直接从常量池获取引用,而s2则在堆上...
### string类的常用方法 在Java编程语言中,`String` 类是用于处理文本数据的基本类之一。它提供了丰富的功能来操作字符串数据。下面将详细介绍`String`类中的一些常用方法,这些方法可以帮助开发者更高效地处理...
String对象有个特殊的StringTable字符串常量池,为了减少Heap中生成的字符串的数量,推荐尽量直接使用String Table中的字符串常量池中的元素。 那么String.intern的性能怎么样呢?我们一起来看一下。 String.intern...
Java中的`String`类的`intern()`方法是一个非常有趣且重要的功能,它涉及到字符串的内存管理,特别是字符串常量池。常量池是Java虚拟机(JVM)的一部分,存储预编译的字符串字面量和其他常量。`intern()`方法的作用...