null.equals引起的空指针

当我们比较两个参数值是否相等的时候,经常用到equals,但是 偶尔我们会忘记判断非空,例如写出这样的代码:

null.equals引起的空指针

这样就会引起空指针,正确的写法是,

null.equals引起的空指针

我们知道java中对equals的定义: 对于任何非空引用值 xx.equals(null) 都应返回 false

关于null的理解:

1.null是任何引用类型的默认值,不严格的说是所有object类型的默认值。这对所有变量都是适用的,如成员变量、局部变量、实例变量、静态变量

2.null是任何一个引用类型变量的默认值,在java中你不能使用null引用来调用任何的instance方法或者instance变量

参考:java中关于null的一些理解