package com.jckb;
import java.util.HashSet;
public class Test3 {
public static void main(String[] args) {
m();
}
static void m(){
HashSet<Person> p= new HashSet<Person>();
p.add(new Person(12, "tom"));
p.add(new Person(12, "tom"));
System.out.println(p);
System.out.println("--------------------------------------");
boolean b =( new Person(12, "tom")).equals(new Person(12, "tom"));
System.out.println(b);
}
}
class Person{
private int age;
private String name;
public Person(int age, String name) {
super();
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int hashCode() {
Person p =(Person) this;
return p.getName().hashCode()+p.getName().hashCode();
}
@Override
public boolean equals(Object obj) {
if(obj instanceof Person){
Person p =(Person)obj;
return this.name.endsWith(p.name)&&this.age==p.age;
}
return super.equals(obj);
}
@Override
public String toString() {
return name+"---"+age;
}
}