Ta reguła powoduje oznaczenie użycia metody equals(Object param) w klasie 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:
|
public MyClass extends 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 zostanie oznaczone wywołanie metody super.equals(someObject).
W przykładzie 2 zostanie oznaczone wywołanie metody c.equals(someObject).
Dodatkowe informacje można znaleźć w punkcie 22 podręcznika Kompatybilność środowiska Java SE 6.