String中intern()方法


intren方法:通俗的讲,是将字符串放入常量池中。

new出来的字符串是放在堆中,直接赋值的字符串是放在常量池中的。

对字符串做拼接操作,即做“+”运算,分两种情况

(1)表达式右边是纯字符串常量,则存放在常量池中

(2)表达式右边存在字符串引用,则存放在堆中

  

public class test {
	public static void main(String[] args) {
		String s1="aaa";
		String s2="bbb";
		String s3="aaabbb";
		String s4=s1+s2;
		String s5="aaa"+"bbb";
		String s6=new String("aaabbb");
		System.out.println(s3==s4);
		System.out.println(s3==s4.intern());
		System.out.println(s3==s5);
		System.out.println(s3==s6);
		System.out.println(s3==s6.intern());
	}
}

  结果如下:

false
true
true
false
true

  

  说明:s1,s2,s3,s5均存放在常量池中,s4,s6存放在堆中。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM