方法中类型参数的限制

时间:2019-05-20 18:37:34

标签: java generics

提供3个课程:

kivy.uix.button.Button object

我需要修复用于调整compareTo方法的代码,以不允许比较水果的不同类型

我了解到,当前 Apple Orange 具有水果类的超类,该类可以为两个子类保留参考值。我无法弄清楚如何正确实现泛型来解决此问题。

如果自变量与调用该方法的对象不匹配,则 compareTo 方法应显示编译时错误。

1 个答案:

答案 0 :(得分:1)

尝试一下:

public abstract class Fruit<F extends Fruit<F>> implements Comparable<F> {
    public int compareTo(F other) {
        ...
    }
}

public final class Apple extends Fruit<Apple> {
    // not needed to actually write the compareTo method, it'll just work.
}