【问题标题】:Generic Return Type in JavaJava中的通用返回类型
【发布时间】:2015-12-15 17:31:24
【问题描述】:

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

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

上面的方法存在于抽象类上。如果我用 ConcreteType1 列表调用它,那么我会返回 List&lt;ConcreteType1&gt;。如果我用 ConcreteType2 调用它,那么我会返回一个 List&lt;ConcreteType1&gt;

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

【问题讨论】:

  • 您忘记声明类型参数。边界将与它一起声明。

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


【解决方案1】:

应该这样写

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-01
    • 2015-07-17
    • 2020-11-22
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    相关资源
    最近更新 更多