Undocumented String.compareTo(null) NPE?
The following little test throws an NPE:
public class Test {
public static void main(String[] args) {
String a = "a";
String b = null;
System.out.println(a.compareTo(b));
}
}
Yet, the Javadoc of compareTo() does not mention that the parameter cannot 开发者_StackOverflow社区be null
. This is strange, since Javadocs usually mentions when parameters cannot be null
.
Is this just a glitch in the documentation or is there a more fundamental reason/twist I am missing?
You can get some explanation when you look at the Comparable interface:
Note that null is not an instance of any class, and e.compareTo(null) should throw a NullPointerException even though e.equals(null) returns false.
精彩评论