String.intern学习

			String s1 = new StringBuffer().append("你好").append("世界").toString();
			System.out.println(s1.intern()==s1);//true
			String s3 = new StringBuffer().append("你好").append("世界").toString();
			System.out.println(s3.intern()==s3);//false
			System.out.println(s3.intern()==s1);//true
			System.out.println("你好世界"==s1);//true
			System.out.println("你好世界"==s3);//false

 intern方法是从常量池中取字符串,第一次是未取到,存入常量池,第二次直接从常量池取到,

常量池中存的也是对象的引用。

注:jdk1.7环境上进行测试。

猜你喜欢

转载自xsjwan.iteye.com/blog/2400870