亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我這里兩對象不同類型相同屬性的值用equals()方法判斷是相同的呢?

public class Phone {

int screen=1;

public float a() {

float screen=1;

return screen;

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

Phone other = (Phone) obj;

if (screen != other.screen)

return false;

return true;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Phone phone1=new Phone();

phone1.screen=1;

Phone phone2=new Phone();

phone2.a();

if(phone1.equals(phone2))

System.err.println("兩對象相同? phone1.screen:"+phone1.screen+"? phone2.a():"+phone2.a());

else

System.out.println("兩對象不相同? phone1.screen:"+phone1.screen+"? phone2.a():"+phone2.a());

}

}

視頻里老師說equals()方法里判斷類型不同會返回false? 但我這段代碼不同類型也返回true? 我哪里理解錯了呢?? ?

正在回答

2 回答

哦哦 我明白了? 我兩對象比較錯了?if(phone1.equals(phone2))這里應該是?if(phone1.equals(phone2.a()))

我的想法是用equals()方法比較相同屬性的成員變量與局部變量?

經過測試 兩對象確實是不同的 即使都是int類型也是不同的

0 回復 有任何疑惑可以回復我~

不都是Phone類型嗎,親?

0 回復 有任何疑惑可以回復我~
#1

青柳_ 提問者

我兩個screen 一個是int類型 一個是float類型 怎么會一樣呢
2018-08-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么我這里兩對象不同類型相同屬性的值用equals()方法判斷是相同的呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號