Rechercher la compatibilité des méthodes equals() sur Duration et XMLGregorianCalendar

Cette règle marque l'utilisation de la méthode equals(Object param) sur javax.xml.datatype.Duration ou javax.xml.datatype.XMLGregorianCalendar.

Java 6 renvoie désormais la valeur false si le paramètre transmis est null. Auparavant, il générait une exception NullPointerException. Examinez la logique de l'application pour déterminer si le code doit vérifier que la valeur false est renvoyée au lieu de générer une exception NullPointerException.

Exemple 1 :

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

Exemple 2 :

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

Dans l'exemple 1, l'appel super.equals(someObject) est marqué.

Dans l'exemple 2, l'appel c.equals(someObject) est marqué.

Pour plus d'informations, voir le point 22 du guide Java SE 6 Compatibility.