天天看点

Java equals 和 Objects.equals

equals源码

在包

java.lang.Object

public boolean equals(Object obj) {
    return (this == obj);
}
           

equals 使用的 == 去进行判断, 是基本数据类型的时候判断值是否相等, 当时引用数据类型的时候判断地址值是否相等

使用 a.equals(b)

Objects.equals源码

在包

java.util.Objects

public static boolean equals(Object a, Object b) {
    return (a == b) || (a != null && a.equals(b));
}
           

使用 Objects.equals(a,b)

区别

使用

equals

的时候, 如果参数为null, 就会发生

空指针异常NullPointerException

, 这种情况就要使用

Objects.equals