通用 Return 输入 Java

Generic Return Type in Java

我正在抽象 class 上实现一个方法,其中 returns 一个具体类型列表,具体取决于它接收的参数。

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

上面的方法依赖于抽象class。如果我用 ConcreteType1 列表调用它,那么我会返回 List<ConcreteType1>。如果我用 ConcreteType2 调用它,那么我会得到一个 List<ConcreteType1>

正如它所写的那样,它现在不起作用。我收到一个编译错误 "Unexpected Bound"。有什么想法吗?

应该这样写

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