Java – “== “ 與 equals() 的分別
閱讀時間: 3分鐘
== operator
是用來判斷兩個比較物件是不是有相同的 references (參考或者引用)。
每一個物件都有獨立的reference,假如reference不相同就表示它們是不同的物件(Object)。
equals() method
是用來比較物件的值 (儲存在heap上的值)。
可以判斷兩個有不同references的物件是否指向相同的值。
例子解釋
public final class MyTest { public static void main( String args[] ) { String s1 = new String( "Martin" ); String s2 = new String( "Martin" ); System.out.println( s1 == s2 ); // 傳回false System.out.println( s1.equals( s2 )); //傳回true } }
- 不同的物件(Object)可以有相同的值
- 每次創建新的物件(Object)都會有新的references (參考或者引用)