为了防止NPE,有时候我们会用 Objects.equals(Object a, Object b) 来判断两个值是否相等,JDK会对a和b的数据类型进行检查,若发现数据类型不一致,代码会标黄警告。并且在实际运行中会始终返回false。如下图
但是类型检查有时候会失效。见下图
所以在我们日常编码中如果用到了Objects.equals(),尤其是以 对象实例的get方法作为比较参数时,一定要多留意数据类型是否正确。否则会有always return false的风险。
为了防止NPE,有时候我们会用 Objects.equals(Object a, Object b) 来判断两个值是否相等,JDK会对a和b的数据类型进行检查,若发现数据类型不一致,代码会标黄警告。并且在实际运行中会始终返回false。如下图
但是类型检查有时候会失效。见下图
所以在我们日常编码中如果用到了Objects.equals(),尤其是以 对象实例的get方法作为比较参数时,一定要多留意数据类型是否正确。否则会有always return false的风险。