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); }}