将通用类型T的不同子类型与Comparable接口进行比较

时间:2014-06-19 15:20:21

标签: java generics wildcard comparable

我希望能够写出这样的内容:

Fruit f1 = new Apple();
Fruit f2 = new Orange();
int res = f1.compareTo(f2);

在fruit类中实现Comparable接口,如下所示:

public class Fruit<T> implements Comparable<? extends T> {

    int compareTo(T other) {
        ...
    }
}

似乎不起作用。 我想在通配符中有关键字super的一些技巧......

1 个答案:

答案 0 :(得分:5)

你过度复杂了。你不需要使用通配符:

public class Fruit implements Comparable<Fruit> {

    public int compareTo(Fruit other) {
        // ...
    }
}