什么是.NET的IEquatable 接口的Java等价物?
什么是.NET的IEquatable接口的Java等价物?
不幸的是我不相信有一个 – 在提供哈希映射等方面与自定义相等比较是一种痛苦:(
显然, Comparable
与IComparer
IComparable
和Comparator
相当,但我不相信IEqualityComparer
和IEquatable
等价物。
可能有第三方库提供相同类型的界面和地图,当然使用它们……
如果您只是在寻找实现equals()
方法的接口,则可以直接覆盖object.equals()
方法。
IEquatable
接口主要用于存储许多可能是未装箱结构类型的实例的generics类; 它对于密封类型有一定的用处,而且对于未密封的类型来说更糟糕。 因此,在Java中实现IEquatable
实际上没有任何意义。
Guava中有一个名为Equivalence