以下是我的代码,
public class Myclass{
some code is here.
}
public static void main(String args[]){
Set<Myclass> set = new HashSet<Myclass>();
Myclass mc = new Myclass();
for(int i=0;i<2;i++){
set.add(mc);
}
System.out.println("size of set : "+set.size());
}
上面的代码是打印输出2但它将是1.我的代码是否有任何问题,如果有,那么请建议我如何避免在集合中添加重复的条目。我在Myclass类中覆盖了equals()。
请尽快回复我。
谢谢。
答案 0 :(得分:4)
您可能需要为equals()
实施hashCode()
和MyClass
,否则无法正确检查相等性。