检查 Duration 和 XMLGregorianCalendar equals() 方法兼容性

此规则会标记是否使用了 equals(Object param) 方法开启 javax.xml.datatype.Duration javax.xml.datatype.XMLGregorianCalendar .

现在,如果所传递的参数为 null,那么 Java 6 将返回 false。它过去会抛出 NullPointerException。请检查应用程序逻辑,以了解是否需要测试代码将返回 false 而不是抛出 NullPointerException。

示例 1:

public MyClass extends Duration{
private void doX(){
boolean b = super.equals(someObject);
}
}

示例 2:

public MyClass {
private void doX(){
XMLGregorianCalendar c = getCalendar();
boolean b = c.equals(someObject);
}
}

在示例 1 中, super.equals(someObject) 呼叫将被标记。

在示例 2 中, c.equals(someObject) 呼叫将被标记。

有关其他信息,请参阅 Java SE 6 Compatibility 指南中的第 22 条。