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