java equals比较_Java中equals()和==的比较
今天寫點簡單點的吧,equals和==的作用都是作比較,但==是條件運(yùn)算符,而equals是一個繼承了object類的方法,也就是說所有類都有一個equals方法,我們先來看一下equals方法在object類中的定義吧。
public boolean equals(Object obj) {
return (this == obj);
}
顯然,equals比較的是兩個對象的地址,而我們通常需要比較的是兩個對象的內(nèi)容(例如Student類的姓名或者學(xué)號),因此我們一般會重寫該類的equals方法,像我們經(jīng)常使用的String類早已重寫了equals方法。
以下是Student類的equals方法重寫:
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}
只有當(dāng)兩個對象的學(xué)號(id)相等時才能返回true,否則返回false。
總結(jié):==不能用于兩個對象(基本數(shù)據(jù)類型除外)內(nèi)容的比較,需要使用重寫后的equals方法!!
總結(jié)
以上是生活随笔為你收集整理的java equals比较_Java中equals()和==的比较的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win8怎么装u盘系统教程视频教程 Wi
- 下一篇: java美元兑换,(Java实现) 美元