public int compareTo(DynamicField other) {
return other.wildcard.length() - wildcard.length();
}
boolean equals(DynamicField other) {
return compareTo(other) == 0;
}
我正面临这个问题。你能建议我怎么解决这个问题吗? 我的方法实现如上所述
答案 0 :(得分:3)
您的equals
方法未正确定义,应为:
@Override
public boolean equals(Object obj)
{
...
}
这样的事情应该有效:
@Override
public boolean equals(Object obj)
{
if (!(obj instanceof DynamicField))
return false;
return compareTo((DynamicField)obj) == 0;
}
如果要覆盖其他类的方法或实现接口方法,则应始终添加@Override
。如果你错误地定义了它,它应该告诉你类似的东西:
method does not override or implement a method from a supertype