1. 程式人生 > >Thinking in java自讀筆記:equals方法的比較

Thinking in java自讀筆記:equals方法的比較

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)); } }

輸出如下:
這裡寫圖片描述