public class Name {
public String id;
public String name;
public Name(String id, String name) {
this.id = id;
this.name = name;
}
}
public class NameReWriter {
public String id;
public String name;
public NameReWriter(String id, String name) {
this.id = id;
this.name = name;
}
@Override
public int hashCode() {
return id.hashCode();
}
@Override
public boolean equals(Object obj) {
if(obj instanceof NameReWriter){
return id.equals(((NameReWriter)obj).id);
}
return false;
}
}
public class Main {
public static void main(String[] args) {
Name name1 = new Name("123","456");
System.out.println("name1 hashcode:"+name1.hashCode());
Name name2 = new Name("123","456");
System.out.println("name2 hashcode:"+name2.hashCode());
System.out.println(name1.equals(name2));
Set<Name> set = new HashSet<>();
set.add(name1);
set.add(name2);
System.out.println(set.size());
System.out.println("***************************");
NameReWriter name3 = new NameReWriter("123","456");
System.out.println("name3 hashcode:"+name3.hashCode());
NameReWriter name4 = new NameReWriter("123","456");
System.out.println("name4 hashcode:"+name4.hashCode());
System.out.println(name3.equals(name4));
Set<NameReWriter> set1 = new HashSet<>();
set1.add(name3);
set1.add(name4);
System.out.println(set1.size());
}
}
name1 hashcode:856419764
name2 hashcode:621009875
false
2
***************************
name3 hashcode:48690
name4 hashcode:48690
true
1