【发布时间】:2010-10-29 20:45:47
【问题描述】:
我创建了一个对象 HashSet,其值是一个对象(三元组),它是我自己的类。但是我得到一个奇怪的事情,当我的 HashSet 上有两个相等的对象时,这可能吗?这是我在 Triple 类中对等号的覆盖方法
@Override
public boolean equals(Object other){
if (other == null) return false;
if (other == this) return true;
if (this.getClass() != other.getClass()) return false;
Triple otherTriple = (Triple)other;
if(otherTriple.getSubject().equals(getSubject()) &&
otherTriple.getPredicate().equals(getPredicate()) &&
otherTriple.getObject().equals(getObject()))
return true;
return false;
}
【问题讨论】: