有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当其中一个变量指向null时,java为什么不equals抛出NullPointerException

让我们考虑下面的代码:

String s1=null;
String s2="something";
System.out.println(s2.equals(s1));
//output: false

为什么s2.equals(s1)不扔NullPointerException

编辑:谢谢你的回答,很抱歉我没有意识到这个问题

For any non-null reference value x, x.equals(null) should return false.

困惑是因为toString方法抛出异常,而equals没有,我想equals也必须“查看”对象内部,以便它可以执行比较为什么equals不也抛出异常


共 (0) 个答案