[英]Generic interface with equals and hashCode methods, is it possible?
我想定义一个接口,该接口将用于实现地图的键。 该映射使用equals和hasCode来查找和比较键。 我的键需要使用自定义计算来覆盖它们。 这是我想做的。 使用复杂密钥很重要。 谢谢
public interface CachedRequestKey<T>{
public T complexKeyObject;
@Override
public boolean equals(T obj);
}
编辑失望的选民:我知道上面的代码无效。 我正在寻找实现接口的想法,以确保实现类使用泛型类型提供所需的方法。
Java不可能实现您想要的。 对象已经实现了equals
和hashCode
,因此每个子类也会自动执行。 接口或抽象类无法要求重新实现它。 假定为该类正确实现了给定类的equals
和hashCode
。
如果您确实需要类来实现特定的比较操作,并且不想偶然使用现有的相等方法,则可以在界面上定义自己的比较函数,并需要实现类来定义这些比较函数。 已经在equals和hashCode方法中实现了相等机制的类可以委托给现有方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.