linux常用命令 怎樣比較兩個對象是否相等?求答案?
怎樣比較兩個對象是否相等?求答案?1、Java中的基本數(shù)據(jù)類型(int、double、short、long、byte、float、Boolean、char)判斷是否相同,直接用“=”就行,等于返回tr
怎樣比較兩個對象是否相等?求答案?
1、Java中的基本數(shù)據(jù)類型(int、double、short、long、byte、float、Boolean、char)判斷是否相同,直接用“=”就行,等于返回true,否則,返回false。
2、Java中引用類型的對象異常。假設(shè)有兩個參考對象obb1,obb2,
obb1==obb2,判斷兩個參考變量obb1和obb2是否相等,即它們所指向的對象是否是同一個對象。這意味著只有當(dāng)兩個變量的內(nèi)存地址相等時,才能返回true。每個對象都有自己的內(nèi)存,因此它必須指向同一個對象才能返回true。
3、如果要定義兩個對象(不是一個對象,即兩個對象有自己的內(nèi)存)是否相等,則必須重寫對象的類定義中的equals()方法。如果不重寫equals()方法,則默認(rèn)比較方法是比較兩個對象是否為同一對象。
在Java API中,有些類重寫equals()方法。它們的比較規(guī)則是:當(dāng)且僅當(dāng)equals方法參數(shù)不為null且兩個變量的類型和內(nèi)容相同時,比較結(jié)果為真。這些類包括:string、double、float、long、integer、short、byte、Boolean、BigDecimal、BigInteger等等。太多了,太多了,但這些都是常見的。有關(guān)詳細(xì)信息,可以檢查API中類的equals()方法。