對於基本資料型別來說,==比較的是他們的值(值比較)
int a = 2;
int b = 3;
int c = 2;
system.out.println(a == b); // false
system.out.println(a == c); // true
對於引用資料型別來說,==比較的是他們的引用(記憶體位址)
person p1 = new person("tom", 13);
person p2 = new person("jerry", 23);
person p3 = new person("tom", 13);
system.out.println(p1 == p2); //false
system.out.println(p1 == p3); //false
system.out.println(p1 == p4); //false
****引用資料做比較要重寫object物件中的equals方法****
public boolean equals(object obj) else
}return false;
}equals 一定要重寫
equals方法
是拿boj和自己(
this
)進行比較,比較規則自己定義
如果列印乙個物件
預設呼叫的是to string方法 可以重寫
to string方法
運算子與equals方法
1 運算子 person p1 new person person p2 new person if p1 p2 false p1 p2 如果有這樣的賦值語句後 if p1 p2 true 注意 當基本資料型別使用 進行比較時,符號兩邊的資料必須型別相容 型別相同或可自動型別轉換 否則編譯出錯 pe...
和equals比較運算子
兩者使用時注意如下用法 1.當使用 來判斷兩個變數是否相等時,如果2個變數是基本型別的變數,且都是數值型 不一定要求資料型別嚴格形同 則只要兩個變數的值相等,將返回true 2.當使用 來判斷兩個引用型別的變數,必須它們指向同乙個物件時,才會返回true 3.string的equals方法判斷兩個字...
簡單比較 運算子和equals 方法的區別
既可以比較基本資料型別也可以比較引用資料型別,對於基本資料型別比較的就是本身的資料值是否一致,對於引用型別就是比較堆記憶體中的位址值是否一致。equals方法不能比較基本資料型別的變數,如果該方法沒有被重寫過的話本質上就是 比較的是引用型別的變數所指向的物件的位址 但可以看到string類 inte...