JAVA的==運算子和.equals()方法

JAVA 程式碼

//作者:骷骷
//網誌:http://bekachu.pixnet.net/blog

public class test {
	
	public static void main(String[] args) {
		
		String a="test";
		String b="test";
		String c=new String("test");
		System.out.println(a==b);
		System.out.println(a.equals(b));
		System.out.println(b==c);
		System.out.println(b.equals(c));
		
		System.out.println("=====");
		
		Integer i=123;
		Integer j=123;
		Integer k=new Integer(123);
		System.out.println(i==j);
		System.out.println(i.equals(j));
		System.out.println(j==k);
		System.out.println(j.equals(k));
	}
}
/*輸出結果:
true
true
false
true
=====
true
true
false
true
*/

==========

書上說 String a="test"; 會放到 String pool 來存放 String,

骷骷就在想,那 Integer i=123; 是不是要放到 Integer pool 來存放 Integer?

 

雖然骷骷不確定底層的實際運作情形,

但是骷骷知道在 Class 中,

==運算子是判斷實體相不相等,

.equals() 方法是判斷實體的內容相不相等,

骷骷覺得直接記結果應該就OK了吧XD。

arrow
arrow
    文章標籤
    JAVA == equals
    全站熱搜

    骷骷 發表在 痞客邦 留言(0) 人氣()