什么是.NET的IEquatable 接口的Java等价物?

什么是.NET的IEquatable接口的Java等价物?

不幸的是我不相信有一个 – 在提供哈希映射等方面与自定义相等比较是一种痛苦:(

显然, ComparableIComparer IComparableComparator相当,但我不相信IEqualityComparerIEquatable等价物。

可能有第三方库提供相同类型的界面和地图,当然使用它们……

如果您只是在寻找实现equals()方法的接口,则可以直接覆盖object.equals()方法。

IEquatable接口主要用于存储许多可能是未装箱结构类型的实例的generics类; 它对于密封类型有一定的用处,而且对于未密封的类型来说更糟糕。 因此,在Java中实现IEquatable实际上没有任何意义。

Guava中有一个名为Equivalence 的等价类型。