java - 定义一个实现可比较的接口(interface)

标签 java interface comparable

我正在尝试定义一个接口(interface),以便所有实现类都必须与它们自身及其子类进行比较。

例如,考虑:

public interface Rating implements Comparable<Rating> {}

这意味着实现类必须与所有评级相比较:

public class A implements Rating {
    public int compareTo(Rating r) {return 0;}
}

我想放宽该要求,以便我可以定义一个类,例如:

public class A implements Rating {
    public int compareTo(A a) {return 0;}
}

最佳答案

我希望您正在尝试实现这样的目标:

public class Rating implements Comparable<? extends Rating> {
   ...
}

或者也许(虽然我不确定你能做到这一点):

public interface Rating extends Comparable<? extends Rating> {
   ...
}

参见this page at Oracle有关有界通配符的更多信息。

关于java - 定义一个实现可比较的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8303737/

相关文章:

java - 获取JChart2D中光标的坐标

java - 获取拥有更多关注者的关注者ID

c# - C#接口(interface)和继承的问题

java可比较错误,在完成之前停止排序

java - 使用字符串和列表 bean 作为参数对 TreeMap 中的值进行排序

java - 通过在内部类中实现 Comparable 来提供多种排序选项

java - Spring WebFlow 配置 - 如何找到触发异常的行?

java - junit java.security.NoSuchAlgorithmException : Cannot find any provider supporting 问题

java - 为什么在java中接口(interface)中的静态最终变量可以被本地变量覆盖?

Golang : update slice in loop for empty interface