有没有人知道为什么String.compareTo没有编程在null参数方面表现得更加慷慨?
在我看来,下一个序列应该返回"1"或至少javadoc应该更具体的NPE.在这种情况下equals()返回false,我猜equals并且compareTo应该是一致的.
例如
String nullString = null;
System.out.println ("test".equals(nullString));
System.out.println ("test".compareTo(nullString));
Run Code Online (Sandbox Code Playgroud)
投掷NPE:
false
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.compareTo(String.java:1177)
Run Code Online (Sandbox Code Playgroud)
添加到它.如果您要在代码中进行compareTo,那么您是否会验证空值?