我了解这两个术语之间的区别,以及如果您想检查两个对象是否具有引用或相同的值,您将使用什么方法。我的问题是,什么时候你必须检查两个对象是否具有相同的引用,而不是检查两个对象是否具有相同的内容或值(从来没有一次我必须检查两个对象是否具有相同的引用)参考)?
这并不是真正“代替”相等性检查,但出于性能和空安全原因,您可以在进行相等性检查之前进行引用检查。
实际上,这就是当您调用时会发生的情况Objects.equals(a,b) http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/java/util/Objects.java#55代替a.equals(b)
.
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)