比较没有NPE的两个空对象的值

joh*_* cs 2 java nullpointerexception java-8

这是一个非常基本的问题,但为什么以下代码返回空指针异常?

String a = null;
String b = null;

System.out.println(a.equals(b));
Run Code Online (Sandbox Code Playgroud)

根据这里的文件:

http://docs.oracle.com/javase/7/docs/api/java/util/Objects.html#equals(java.lang.Object,%20java.lang.Object)

.equals()函数在比较值之前首先检查null.它不应该返回true,因为它们都是null吗?

aoa*_*oak 5

链接到的方法包含两个对象,并且是静态方法.你需要称之为Objects.equals(a, b).相反,你正在调用.equals()一个抛出NPE的null对象