我正在尝试定义一个接口(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/