Sans-Papiers De La Chaîne.compareTo (null) NPE?

Le petit test suivant lance un NPE:

public class Test {

    public static void  main(String[] args) {

        String a = "a";
        String b = null;

        System.out.println(a.compareTo(b));

    }

}

Pourtant, le Javadoc de compareTo () ne mentionne pas que le paramètre ne peut pas être null. C'est étrange, puisque Javadocs mentionne généralement quand les paramètres ne peuvent pas être null.

Est-ce juste un problème dans la documentation ou y a-t-il une raison/torsion plus fondamentale qui me manque?

23
demandé sur Jérôme Verstrynge 2011-08-24 02:55:08

1 réponses

Vous pouvez obtenir une explication lorsque vous regardez l'interface Comparable :

Notez que null n'est une instance d'aucune classe, et E. compareTo(null) devrait lancer une NullPointerException même si E. equals (null) renvoie faux.

34
répondu Snicolas 2011-11-26 17:06:42