Java中的通用返回类型

时间:2015-12-15 17:31:25

标签: java generics inheritance abstract-class java-7

我正在抽象类上实现一个方法,它根据接收的参数返回具体类型的列表。

public static List<T extends AbstractClass> method(List<? extends AbstractClass> objects) {
    return listOfT;
}

上面的方法存在于抽象类中。如果我使用ConcreteType1列表调用它,那么我会返回List<ConcreteType1>。如果我用ConcreteType2调用它,那么我会找回List<ConcreteType1>

正如它所写,它现在不起作用。我收到一个编译错误,上面写着“Unexpected Bound”。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这应写成

public static <T extends AbstractClass> List<T> method(List<T> objects) {
    return listOfT;
}