classPerson{private String name;privateint age;publicPerson(String name,int age){this.name = name;this.age = age;}publicPerson(){}@OverridepublicinthashCode(){//集成工具自动重写的Object方法finalint prime =31;int result =1;//result = prime * result + age;//这里我们可以看到一个Person对象的哈希值跟属性值有关
result = prime * result +((name == null)?0: name.hashCode());return result;}@Overridepublicbooleanequals(Object obj){//集成工具自动重写的Object方法if(this== obj)returntrue;if(obj == null)returnfalse;if(getClass()!= obj.getClass())returnfalse;
Person other =(Person) obj;//if (age != other.age)//return false;if(name == null){if(other.name != null)returnfalse;}elseif(!name.equals(other.name))returnfalse;returntrue;}@Overridepublic String toString(){return"Person [name="+ name +", age="+ age +"]";}}