Objects.equals()经常用在重写equals和hashcode的时候,,
它内部的源码中自动进行了非空判断,避免了空指针异常,如下:
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
比如:根据Person类中的name和age属性判断两个Person对象是否相等
public boolean equals (Object obj){
if(obj == this){
return true;
}
if(obj ==null || xx){
return false;
}
Person person = Person(obj);
return Objects.equals(person.getName(),this.name) &&
Objects.equals(person.getAge(),this.age);
}