檢查 Duration 和 XMLGregorianCalendar equals() 方法的相容性

此規則會標示使用的 javax.xml.datatype.Durationjavax.xml.datatype.XMLGregorianCalendarequals(Object param) 方法。

現在,如果傳遞的參數是空值,則 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 相容性手冊中的第 22 項。