2種重寫hashCode和equals的方法

2021-10-09 18:43:15 字數 1382 閱讀 6180

正常重寫hashcode和equals方法

public

class

student

// 重寫equals方法

@override

public

boolean

equals

(object obj)

student stuobj =

(student) obj;

// 位址相等if(

this

== stuobj)

// 如果兩個物件姓名、年齡、性別相等,我們認為兩個物件相等

if(stuobj.name.

equals

(this

.name)

&& stuobj.***.

equals

(this

.***)

&& stuobj.age.

equals

(this

.age)

)else

}public string getname()

public

void

setname

(string name)

public string get***()

public

void

set***

(string ***)

public string getage()

public

void

setage

(string age)

public

float

getweight()

public

void

setweight

(float weight)

public string getaddr()

public

void

setaddr

(string addr)

}

使用lombok外掛程式重寫hashcode和equals方法

@data

//setter和getter方法

@equalsandhashcode

//重寫hashcode和equals方法

@noargsconstructor

//無參構造方法

@@allargsconstructor

//有參構造方法,如果乙個類有了有參構造方法,也要有無參構造方法,

//不然其子類繼承的時候會報錯

@tostring

//tostring方法

public

class

student

equals和hashcode的重寫

下面給出例項 package xuming class student public student string name,int age,int classnum 重寫equals方法 public boolean equals object o 測試引用o是都為null if o null 測...

關於hashCode和equals重寫

規則 只要重寫equals,就必須重寫hashcode。用set儲存物件或者用物件作為map的鍵時,必須重寫hashcode。也就是說,當需要用物件的雜湊值來判斷物件是否相等時必須重寫hashcode。說明 string重寫了hashcode和equals方法,所以我們可以非常愉快地使用string...

關於hashCode和equals重寫

只要重寫equals,就必須重寫hashcode。用set儲存物件或者用物件作為map的鍵時,必須重寫hashcode。也就是說,當需要用物件的雜湊值來判斷物件是否相等時必須重寫hashcode。說明 string重寫了hashcode和equals方法,所以我們可以非常愉快地使用string物件作...