??Java?е?hashcode????
???????????? ???????[ 2014/5/28 11:34:20 ] ????????Java hashcode
??????????λ????Effective Java??飺
?????????????????equals?????????????????????б????????????????????????Σ?hashCode?????????????????????????????
??????????????????equals??????????????????????????????hashCode????????????????????????
??????????????????equals????????????????hashCode??????????÷?????????????
?????????????????????????????????????????????????Java??????????е?P495?????????????????λ???
????“???hashCode()??????????????????????????????????hashCode()????ò??????????????????????????put()????HashMap????????hashCdoe???????get()????????????????hashCode??????????????????????????????hashCode????????????????????????????????????????????????仯???hashCode()???????????????????????”??
???????????????
package com.cxh.test1;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
class People{
private String name;
private int age;
public People(String name??int age) {
this.name = name;
this.age = age;
}
public void setAge(int age){
this.age = age;
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return name.hashCode()*37+age;
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
return this.name.equals(((People)obj).name) && this.age== ((People)obj).age;
}
}
public class Main {
public static void main(String[] args) {
People p1 = new People("Jack"?? 12);
System.out.println(p1.hashCode());
HashMap<People?? Integer> hashMap = new HashMap<People?? Integer>();
hashMap.put(p1?? 1);
p1.setAge(13);
System.out.println(hashMap.get(p1));
}
}
|
??????δ???????????“null”????????е????????????????
?????????????hashCode??????equals?????????????????е?????????????equals??????hashCode?????в???????????Ρ?
??????

???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11