String对象实例化方式区别和intern()方法实现手工入池的使用

String 对象实例化两种方式的区别

  1.    直接赋值:只会产生一个实例化对象,并且库自动保存到对象池之中,以实现字符串实例的重用
  2. 构造方法:会产生两个实例化对象,并且不会自动入池,无法实现对象重用,但是可以利用intern()方法手工入池处理
  3. 池的概念:String对象(常量)池,该对象池的主要目的是实现数据的共享处理
  4. intern方法的使用:

例:

package day04;

public class StringIntern {
public static void main(String[] args) {
	System.out.print(" 未使用intern()方法手工入池前-->");
	String strA = "SCP";
	String strB = new String ("SCP");
	System.out.println(strA == strB);
	System.out.print(" 使用intern()方法手工入池后-->");

	String strC = "SCP";
	String strD = new String ("SCP").intern();
	System.out.println(strC == strD);
}
}
输出结果:  
             未使用intern()方法手工入池前-->false
             使用intern()方法手工入池后-->true

猜你喜欢

转载自blog.csdn.net/qq_41663470/article/details/112966114