jdk6 vs jdk7 string intern 区别

package com.goods;
class Test
{
	
 /**
  * jdk6 vs jdk7 string	intern 区别
  * 6:将字符串加入常量池.返回常量值。(不改变当前引用)
  * 7:将字符串加入常量池.返回常量值。(改变当前引用)1、判断常量池中是否有该值,没有的话将该字符串加入常量池,并返回常量值,2.常量池中有的话,就返回当前的内存地址
  * @param args
  */
 public static void main(String... args)
 {
  
 
	 
  String s1="Good";
  s1=s1+"morning";
  System.out.println(s1.intern());
  
  String s2="Goodmorning";

 //jdk6 intern返回字符串常量 == true
  System.out.println(s1.intern()==s2);
  //jdk 6 s1 新对象 ==false 
  System.out.println(s1==s2);
  
  
  //jdk7 intern返回字符串常量 == true
  System.out.println(s1.intern()==s2);
  //jdk7 ==true 
  System.out.println(s1==s2);
  
 }
}

猜你喜欢

转载自m635674608.iteye.com/blog/2278653