错误例子:
普通类:
public boolean equals(Object object) {
final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
return equals(null, null, object, strategy);
}
应该判断是否为null和是否为Object,改成
public boolean equals(Object object) {
if ((object == null)||(this.getClass()!= object.getClass())) {
return false;
}
return equals(null, null, object, JAXBEqualsStrategy.INSTANCE);
}
或者这样
public boolean equals(Object object) {
if ((object == null)||(this.getClass()!= object.getClass())) {
return false;
}
if (this == object) {
return true;
}
return equals(null, null, object, JAXBEqualsStrategy.INSTANCE);
}
Null.java(用来代替null)
@Override
public boolean equals(Object object) {
return object == null || object == this;
}
改成
@Override
public boolean equals(Object object) {
if (null == object || getClass() == object.getClass()) {
return true;
}
if (this == object) {
return true;
}
return false;
}