2011-08-23 12 views
23

Il seguente piccolo test genera un NPE:String.compareTo (null) non documentato non documentato?

public class Test { 

    public static void main(String[] args) { 

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

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

    } 

} 

Eppure, Javadoc di compareTo() non menziona che il parametro non può essere null. Questo è strano, dal momento che Javadocs menziona solitamente quando i parametri non possono essere null.

Questo è solo un problema tecnico nella documentazione o c'è un motivo/torsione più fondamentale che mi manca?

+0

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Comparable.html – fireshadow52

risposta

33

È possibile ottenere qualche spiegazione quando si guarda l'interfaccia Comparable:

Nota che nulla non è un'istanza di qualsiasi classe, e e.compareTo (null) dovrebbe gettare un NullPointerException anche se e. equals (null) restituisce false.

+0

Ok, prendilo. Grazie per averlo indicato. – JVerstry

+0

il mio piacere. Stavo cercando un modo carino per superare i 3,6 k di reputazione oggi. ;) – Snicolas

+0

Sta diventando difficile vincere punti ... lol – JVerstry

Problemi correlati