java equals比较_Java中equals()和==的比较
今天寫點簡單點的吧,equals和==的作用都是作比較,但==是條件運算符,而equals是一個繼承了object類的方法,也就是說所有類都有一個equals方法,我們先來看一下equals方法在object類中的定義吧。
public boolean equals(Object obj) {
return (this == obj);
}
顯然,equals比較的是兩個對象的地址,而我們通常需要比較的是兩個對象的內容(例如Student類的姓名或者學號),因此我們一般會重寫該類的equals方法,像我們經常使用的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;
}
只有當兩個對象的學號(id)相等時才能返回true,否則返回false。
總結:==不能用于兩個對象(基本數據類型除外)內容的比較,需要使用重寫后的equals方法!!
總結
以上是生活随笔為你收集整理的java equals比较_Java中equals()和==的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win8怎么装u盘系统教程视频教程 Wi
- 下一篇: usb启动盘怎么装系统 如何制作可启动的