public int compareTo(DynamicField other) {
return other.wildcard.length() - wildcard.length();
}
boolean equals(DynamicField other) {
return compareTo(other) == 0;
}
我正面临这个问题。你能建议我如何解决这个问题吗?我的方法实现如上
您的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