1 回答

TA貢獻8條經(jīng)驗 獲得超9個贊
(沒錯,又是我?。?/p>
基本數(shù)據(jù)類型通常用==判斷是否相等
引用數(shù)據(jù)類型用==比較的是兩個對象的地址是否相同
equals是Object 類的方法,內(nèi)部實現(xiàn)為:
public boolean equals(Object obj){
return (this == obj);
}
用的也是==,因為Object是所有類的父類,所以每個類即使沒定義
也都能用equals方法不過和用==沒有區(qū)別,要想實現(xiàn)特定的比較方法,
需要在本類中重寫equals,如你所做的:
public boolean equals(Object obj){
if(obj==null)
return false;
Car temp = (Car)obj;
if(this.getColor().equals(temp.getColor())&&this.getUserName().equals(temp.getUserName()))
return true;
else
return false;
}
因為有起好的名字,所以我們就用equals了(我們?nèi)∶值乃骄褪沁@么匱乏),
你取其他的名字也是可以的。
要注意一點,昨天說過,
強轉(zhuǎn)前應該判斷一下obj對象是不是Car的類型的
要不可能拋ClassCastException 類型轉(zhuǎn)換異常
if(obj instanceof Car)
????Car temp = (Car)obj;
添加回答
舉報