Thinking in java自讀筆記:equals方法的比較
阿新 • • 發佈:2018-11-05
1.在java中equals方法的比較
“主型別”的比較可以簡單的使用運算子”!=”或者“==”進行比較,在進行物件的比較時,如果沒有重寫equals方法,則預設比較的是物件的”控制代碼”,即判斷物件地址是否相等。簡單比較如下:
class MyObject
{
int num;
}
public class Test
{
public static void main(String[] args)
{
MyObject ob1=new MyObject();
MyObject ob2=new MyObject();
System.out .println(ob1.equals(ob2));
}
}
輸出如下:
接下來進行重寫equals方法進行測試:
class MyObject
{
int num;
public MyObject(int num)
{
this.num=num;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof MyObject)
{
return num==((MyObject)obj).num;
}
return false;
}
}
public class Test
{
public static void main(String[] args)
{
MyObject ob1=new MyObject(10);
MyObject ob2=new MyObject(10);
System.out.println(ob1.equals(ob2));
}
}
輸出如下: