判斷兩個物件內容相等
不能直接呼叫object類裡的equals方法,將equals方法寫到object類當中是讓所有物件都擁有equals方法,,它的目的是給開發者重寫的,不然其方法實現的功能與』==』一模一樣
而用==號是不能判斷兩個物件內容相等的
eg.
user a = new user();
user b = new user();
system.out.println(a == b);
system.out.println(a.equals(b)); //還未重寫equals方法
上面兩行**列印出來的都是false,因為兩個引用物件a和b指向的是不同物件,只有指向相同的物件才會返回true
另外,在object類的equals方法如下:
public
boolean
equals(object obj)
由此可以看出,為重寫的equals方法實現的功能與』==』一樣
所以當我們呼叫equals方法的時候,要重寫
class user
else
return
false;
}else
return
false;
}public
user(string name, int age)
}
public
class testequals
}
結果:
false
true
判斷兩個物件內容值是否相等
現在有兩個物件 let a let b 如何判斷物件a和物件b相等呢?a b falseobject.is a,b false 這個時候需要自己定義乙個方法來判斷物件內容值是否相等,如下 function objequal a,b for let key in a if a key b key re...
js怎麼判斷兩個物件相等?
es6 中有乙個方法判斷兩個物件是否相等,這個方法判斷是兩個物件引用位址是否一致 let obj1 let obj2 console.log object.is obj1,obj2 false let obj3 obj1 console.log object.is obj1,obj3 true co...
C 判斷兩個物件是否相等
首先在c 中判斷物件相等,是對於引用型別的,兩個 物件用 只是判斷他們的記憶體位址是否一樣 對於字串或者數值,判斷相等只需要用 運算 引用型別 1.對乙個類只是例項化一次 向那些只有賦值沒有new例項化乙個物件的話,拿這些物件指的都是乙個位址 people p1 newpeople people p...