Sprawdzenie kompatybilności metody equals() klas Duration i XMLGregorianCalendar

Ta reguła oznacza użycie equals(Object param) Metoda włączona javax.xml.datatype.Duration LUB javax.xml.datatype.XMLGregorianCalendar .

W środowisku Java 6 obecnie zwracana jest wartość false, jeśli przekazany parametr ma wartość NULL. Powodowało to zgłoszenia wyjątku NullPointerException. Należy przeanalizować logikę aplikacji, sprawdzając, czy kod wymaga testowania pod kątem wartości false zamiast wyjątku NullPointerException.

Przykład 1:

< span class="Code" > public MyClass rozszerza atrybut Duration {
private void doX(){
boolean b = super.equals(someObject);
}
}

Przykład 2:

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

W przykładzie 1 super.equals(someObject) Połączenie zostanie oznaczone flagą.

W przykładzie 2 c.equals(someObject) Połączenie zostanie oznaczone flagą.

Dodatkowe informacje można znaleźć w punkcie 22 podręcznika Kompatybilność środowiska Java SE 6.