Java?????hashCode
???????????? ???????[ 2016/6/27 11:40:57 ] ??????????????????? Java
???????????????????
????1???ж??????????hashcode???????????????????????????????????????????equals??
????2?????????????equals???????????????????????????????????????
?????????
public class Person {
private int age;
private int sex; //0???У?1???
private String name;
private final int PRIME = 37;
Person(int age ??int sex ??String name){
this.age = age;
this.sex = sex;
this.name = name;
}
/** ???getter??setter???? **/
@Override
public int hashCode() {
System.out.println("????hashCode????...........");
int hashResult = 1;
hashResult = (hashResult + Integer.valueOf(age).hashCode() + Integer.valueOf(sex).hashCode()) * PRIME;
hashResult = PRIME * hashResult + ((name == null) ? 0 : name.hashCode());
System.out.println("name:"+name +" hashCode:" + hashResult);
return hashResult;
}
/**
* ??дhashCode()
*/
public boolean equals(Object obj) {
System.out.println("????equals????...........");
if(obj == null){
return false;
}
if(obj.getClass() != this.getClass()){
return false;
}
if(this == obj){
return true;
}
Person person = (Person) obj;
if(getAge() != person.getAge() || getSex()!= person.getSex()){
return false;
}
if(getName() != null){
if(!getName().equals(person.getName())){
return false;
}
}
else if(person != null){
return false;
}
return true;
}
}
??????Bean?????????Java Bean???????????hashCode??????equals??????
public class Main extends JPanel {
public static void main(String[] args) {
Set<Person> set = new HashSet<Person>();
Person p1 = new Person(11?? 1?? "????");
Person p2 = new Person(12?? 1?? "????");
Person p3 = new Person(11?? 1?? "????");
Person p4 = new Person(11?? 1?? "????");
//????p1??p3
System.out.println("p1 == p3? :" + (p1 == p3));
System.out.println("p1.equals(p3)?:"+p1.equals(p3));
System.out.println("-----------------------?????--------------------------");
set.add(p1);
set.add(p2);
set.add(p3);
set.add(p4); System.out.println("set.size()="+set.size());
}
}
???????н?????£?
????????????????????????????hashCode?????????equals????????set????????3??add???????????????????????????????????????
???????????????????????漰???????????????????SPASVOС??(021-61079698-8054)?????????????????????????
??????
Java???????????Щ???????????????Java????????????????Java?б???Map????????Java Web???????????????Java??????????????д?????Java????????7???????????????????????(java .net ?????)???Java??????????Python??????Java webdriver??λ????????′????е?????Java??д??????????????????Java???????????????JavaScript????????????Java?????????????????? Java???????10??????????????Java?м????????????????java???????ü???????????м???????????????????
???·???
??????????????????
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????????
?????????App Bug???????????????????????Jmeter?????????QC??????APP????????????????app?????е????????jenkins+testng+ant+webdriver??????????????JMeter????HTTP???????Selenium 2.0 WebDriver ??????