一、值的比较
基本数据类型是值比较("=="),bytte\short\int\long\float\double\char
二、对象的比较
引用类型对象之间的比较:
1、“==”比较的是2个引用是否指向同一个对象。
2、“equals”
String对象重写了(override)Object对象的equals方法,比较的是2个对象的内容是否相等。
其它类对象没有重写Object中的equals方法,默认使用的还是Object方法(比较2个对象的引用是否指向同一个对象)。
good1和good2的内容是相等的,为什么equals结果还是false呢?
原因在于Goods类没有重写equals方法,默认使用的还是Object类的引用比较(equals方法)!
Goods重写了equals方法后,看看执行结果:
<1>将比较对象obj转化为Goods类型。
<2>如果obj中的title和Goods中的title相同且obj中的price和Goods中的price相同,那么二者就相同,返回true。
public boolean equals(Object obj){
Goods tmp = (Goods)obj;
//title和price指的是本类中的title、price
if(tmp.getPrice==price&&(tmp.getTitle).equals(title)){
return true;
}
}
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦