内容简介:翻译自:https://stackoverflow.com/questions/1743017/most-compact-way-to-compare-three-objects-for-equality-using-java
比较三个对象(语义)相等的最紧凑的代码是什么?我有一个业务规则,即对象必须是唯一的,即A与B不同,A与C不同,B与C不同.
假设这些对象都是同一个类,并且正确地重写了equals和hashCode方法.轻微的皱纹是对象C可能为空 – 如果是这种情况,那么A和B必须彼此不同.
我有一些代码,但它有点像我的口味工作.
由于OP表示A和B永远不为空,C可能为null,使用此:
if(A.equals(B) || B.equals(C) || A.equals(C)) // not unique
并且,正如其他人已经建议的那样,您可以将其放入重用方法中.或者如果您需要更多重用的通用方法;-)
请注意,在 Java 中,equals的一个特性是,如果其参数为null,则不应抛出,而是返回false.
翻译自:https://stackoverflow.com/questions/1743017/most-compact-way-to-compare-three-objects-for-equality-using-java
以上所述就是小编给大家介绍的《最简洁的方法是使用Java比较三个对象是否相等?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning ARKit for iPhone and iPad
Wallace Wang / Apress / 2018-11-5 / USD 39.99
Explore how to use ARKit to create iOS apps and learn the basics of augmented reality while diving into ARKit specific topics. This book reveals how augmented reality allows you to view the screen on ......一起来看看 《Beginning ARKit for iPhone and iPad》 这本书的介绍吧!
HTML 编码/解码
HTML 编码/解码
SHA 加密
SHA 加密工具