作者Bluesky7 ()
看板java
标题关於HashSet 加入重覆物件却成功加入的问题
时间Thu Apr 27 16:58:34 2006
class A{
int a=0;
public A(int va){a=va;}
public boolean equals(Object o){
A m=(A)o;
return (a==o.a);
}
public String toString(){...return a 的String}
}
class test{
main(String[] argc)
{
HashSet<A> set= new HashSet<A>();
set.add(new A(1));
set.add(new A(2));
System.out.println(set);
}
}
结果印出来是 [1, 2] 第二次被成功加入了
可是SUN 的 Spec上明明定义set 重复的不会加入
More formally, adds the specified element, o, to this set if this set
contains no element e such that (o==null ? e==null : o.equals(e)).
可是现在看来 好像只有把address相同的才看成一样 可是我的equals也overrinding了
也测过没错
我哪里弄错了吗
请教板友 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.107.75