When is it appropriate to use reference equality vs object equality in Java?(什么时候在Java中使用引用相等与对象相等是合适的?)
问题描述
我了解这两个术语之间的区别,以及如果您想要检查两个对象是否具有引用或相同的值,您将使用什么方法。我的问题是,与检查两个对象是否具有相同的内容或值(从来没有一次我必须检查两个对象是否具有相同的引用)相比,何时必须检查两个对象是否具有相同的引用?
推荐答案
这并不是真正的"代替"相等性检查,但出于性能和空安全原因,您可以在执行相等性检查之前执行引用检查。
实际上,这就是调用Objects.equals(a,b)
而不是a.equals(b)
时发生的事情。
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
这篇关于什么时候在Java中使用引用相等与对象相等是合适的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!