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