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

Jon*_*len 22 .net java

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

Jon*_*eet 18

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

显然,有Comparable<T>一个等同于IComparable<T>Comparator<T>for IComparer<T>,但我不相信有任何等价的IEqualityComparer<T>IEquatable<T>.

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

  • BCL 中缺少 Equatable 接口是 Java 的许多令人沮丧的缺陷之一 - 它本质上要求您实现(或至少暗示您实现)一个类的全序,即使仅仅允许一个类可能没有任何意义。用作哈希映射中的键的类型。 (2认同)

小智 8

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

  • 可以在这里找到`equals()`的良好覆盖实现:http://stackoverflow.com/questions/185937/overriding-the-java-equals-method-quirk (3认同)