Java Objects.equals()的作用

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);
}

猜你喜欢

转载自blog.csdn.net/qq_36898043/article/details/81087948