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

此規則會標示是否使用 equals(Object param) 方法開啟 javax.xml.datatype.Duration javax.xml.datatype.XMLGregorianCalendar .

現在,如果傳遞的參數是空值,則 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 項。