hashcode的作用原理 為什么要同時實現(xiàn)hashCode和equals?
為什么要同時實現(xiàn)hashCode和equals?1. 重寫equals方法時,需要重寫hashcode方法,主要用于map、set等集合類型;TA:map、set等集合類型中存儲的對象必須唯一;要判斷
為什么要同時實現(xiàn)hashCode和equals?
1. 重寫equals方法時,需要重寫hashcode方法,主要用于map、set等集合類型;TA:map、set等集合類型中存儲的對象必須唯一;要判斷兩個對象是否相等,集合類首先判斷equals是否相等。如果equals返回true,則還判斷hashcode的返回值是否為true。只有當(dāng)兩者都返回true時,才能認為這兩個對象相等。T2。因為對象的hashcode返回對象的hash值,所以即使equals返回true,集合也可能確定兩個對象不相等。因此,必須重寫hashcode方法,以確保當(dāng)equals返回true時,hashcode也返回true,這樣存儲在集合中的對象就可以是唯一的。