測試String類的intern方法

<pre name="code" class="java">package com.ckw.mianshi;

/**
 * 測試String類的intern方法
 * @author Administrator
 *intern():返回一個字符串,內容與此字符串相同,但它保證來自字符串池中。
 */
public class StringOfIntern {

	public static void main(String[] args) {
		/**
		 * 例1
		 */
		String s0="my";
		String s1=new String("my");
		String s2=new String("my");
		System.out.println(s0==s1);
		s1.intern();
		s2=s2.intern();
		System.out.println(s0==s1);		//雖然執行了s1.intern(),但它的返回值沒有賦給s1
		System.out.println(s0==s1.intern());
		System.out.println(s0==s2);
		
		System.out.println("");
		
		/**
		 * 例2
		 */
		String s3=new String("you");
		System.out.println(s3==s3.intern());//其中s3.intern()來自剛剛創建的常量池中的you,s3來自於堆中的you,兩者不一樣
		String s4=s3.intern();
		System.out.println(s3+" "+s4);
		System.out.println(s4==s3.intern());
	}

}

測試結果:
false
false
true
true


false
you you
true



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章