未记载的String.compareTo(null)NPE?

以下小测试抛出一个NPE:

public class Test { public static void main(String[] args) { String a = "a"; String b = null; System.out.println(a.compareTo(b)); } } 

然而, compareTo()的Javadoc没有提到参数不能为null 。 这很奇怪,因为Javadocs通常在参数不能为null时提及。

这只是文档中的一个小故障还是有一个更基本的原因/扭曲我错过了?

当您查看Comparable接口时,您可以获得一些解释:

请注意,null不是任何类的实例,并且即使e.equals(null)返回false,e.compareTo(null)也应抛出NullPointerException。