<分区>
Possible Duplicate:
Overriding equals and hashCode in Java
对于 contains 我们应该覆盖 java 中 hashset 的 hashcode 和 equals 吗?
import java.lang.Math;
import java.util.HashSet;
class Hello{
public String name= "";
Hello(String name){
this.name = name;
}
public static void main(String args[]){
Hello h1 = new Hello("first");
Hello h2 = new Hello("second");
Hello h3 = new Hello("third");
Hello h4 = new Hello("fourth");
Hello h5 = new Hello("fourth");
HashSet hs = new HashSet();
hs.add(h1);
hs.add(h2);
hs.add(h3);
hs.add(h4);
hs.add(h5);
hs.add(h5);
hs.add(null);
System.out.println("elements in hashset"+hs);
// System.out.println("elements in hashset"+hs.contains());
System.out.println("elements in hashset"+hs.contains(new Hello("fourth")));
}
/*public boolean equals(Object obj){
System.out.println(name+"==========="+((Hello)obj).name);
if(name.equals(((Hello)obj).name))
return true;
else
return false;
}*/
public int hashCode(){
return name.hashCode();
}
}