在Java中,
equals()从其继承的方法
Object是:
public boolean equals(Object other);
换句话说,参数必须是类型
Object。
会
ArrayList使用正确的equals方法,在此情况下,你始终会调用未正确覆盖
Objectequals的方法。
未正确覆盖该方法可能会导致问题。
我每次都覆盖等于以下内容:
@Overridepublic boolean equals(Object other){ if (other == null) return false; if (other == this) return true; if (!(other instanceof MyClass))return false; MyClass otherMyClass = (MyClass)other; ...test other properties here...}使用
@Override注释可以帮助解决许多愚蠢的错误。
只要你认为自己要重写超类或接口的方法,就可以使用它。这样,如果你做错了,你将得到一个编译错误。



