Verificaţi compatibilitatea metodei eguals() pe Duration şi XMLGregorianCalendar

Această regulă semnalează utilizarea metodei equals(Object param) pe javax.xml.datatype.Duration sau javax.xml.datatype.XMLGregorianCalendar.

Java 6 returnează false dacă parametrul transmis este nul. A fost folosit pentru a arunca o NullPointerException. Verificaţi logica aplicaţiei pentru a vedea dacă codul trebuie să testeze pentru fals în loc de NullPointerException.

Exemplul 1:

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

Exemplul 2:

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

În exemplul 1, va fi semnalat apelul super.equals(someObject).

În exemplul 2, va fi semnalat apelul c.equals(someObject).

Pentru informaţii suplimentare, vedeţi articolul 22 din ghidul Java SE 6 Compatibility.