第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么重寫了equals()兩類的對(duì)象還是不相等

public?class?phone1?{
	int?size?=?1;

	@Override
	public?int?hashCode()?{
		final?int?prime?=?31;
		int?result?=?1;
		result?=?prime?*?result?+?size;
		return?result;
	}

	@Override
	public?boolean?equals(Object?obj)?{
		if?(this?==?obj)
			return?true;
		if?(obj?==?null)
			return?false;
		if?(getClass()?!=?obj.getClass())
			return?false;
		phone1?other?=?(phone1)?obj;
		if?(size?!=?other.size)
			return?false;
		return?true;
	}

}
public?class?phone2?{
	int?size?=?1;
}
public?class?PHONE?{
	public?static?void?main(String[]?args)?{
		//?TODO?Auto-generated?method?stub
		phone1?p1?=?new?phone1();
		phone2?p2?=?new?phone2();

		if(p1.equals(p2))
		{
			System.out.println("兩個(gè)電腦的參數(shù)相同!");
		}
		else
		{
			System.out.println("兩個(gè)電腦的參數(shù)不同!");
		}
	}
}

結(jié)果是 ?兩個(gè)電腦的參數(shù)不同!

正在回答

3 回答

?phone1?p1?=?new?phone1();

?phone2?p2?=?new?phone2();

是分別用兩個(gè)類指向了兩個(gè)對(duì)象,equals的用法是用來比較同一個(gè)類的兩個(gè)對(duì)象,所以你的main函數(shù)應(yīng)該改成如下,你再去運(yùn)行就是相同了

public?class?PHONE?{

????public?static?void?main(String[]?args)?{

????????//?TODO?Auto-generated?method?stub

????????phone1?p1?=?new?phone1();

????????phone1 p2?=?new?phone1();

?

????????if(p1.equals(p2))

????????{

????????????System.out.println("兩個(gè)電腦的參數(shù)相同!");

????????}

????????else

????????{

????????????System.out.println("兩個(gè)電腦的參數(shù)不同!");

????????}

????}

}


2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉4034825 提問者

那是怎么比較兩個(gè)對(duì)象的,好像你上面那樣,那兩個(gè)對(duì)象不是都是指同一個(gè)類嗎,那比較有什么意義?
2017-07-28 回復(fù) 有任何疑惑可以回復(fù)我~
#2

諸葛亮劍 回復(fù) 慕粉4034825 提問者

雖然是同一個(gè)類的,但是這個(gè)類中的兩個(gè)對(duì)象是不同的,就是你給這兩個(gè)對(duì)象賦的值是不同的也可能是相同的(由你來決定),就像該節(jié)教學(xué)視頻講的一樣,equals的用法是用來比較同一個(gè)類的兩個(gè)對(duì)象,雖然他并沒有明確的說,但是equals就是這樣使用的
2017-07-28 回復(fù) 有任何疑惑可以回復(fù)我~
#3

慕粉4034825 提問者

非常感謝!
2017-07-29 回復(fù) 有任何疑惑可以回復(fù)我~
#4

慕婉清7557668 回復(fù) 慕粉4034825 提問者

你這個(gè)重寫的equals的函數(shù)是用來比較size的值。比如有一個(gè)學(xué)生類,然后定義了兩個(gè)學(xué)生對(duì)象,一個(gè)叫TOM,一個(gè)叫KATE,用size來表示他們的年齡,那么p1.equals(p2)的含義就是比較TOM和KATE的年齡是否相同了。
2017-07-31 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

參數(shù)要toString,不然參數(shù)輸出的是在內(nèi)存中的地址,而不是參數(shù)的值


0 回復(fù) 有任何疑惑可以回復(fù)我~

你這個(gè)只比較了對(duì)象,沒有比較size誒,你看看把多余的代碼注釋掉看看

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么重寫了equals()兩類的對(duì)象還是不相等

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)