繁体   English   中英

为什么类型L即使扩展了ArrayList也没有任何类型参数? [重复]

[英]Why does type L not have any type parameters even though it extends ArrayList? [duplicate]

这是我的代码:

private <T,L extends ArrayList<? extends T>> L Foo(L<T> list1) {
    L list2 = new ArrayList<T>();

    //more code

}

我正在使用IDEA并为method参数获取以下错误消息:

Type 'L' does not have type parameters

和以下错误消息,用于创建ArrayList:

Incompatible types. <br>Required: L <br> Found: java.utils.ArrayList<T>;

为什么会这样? L扩展了ArrayList,所以它应该具有相同的类型参数,对吗?

ArrayList<T>是否为L尚不清楚。 例如, L可以是MyArrayListImpl<T>

我认为这是您想要的:

private <T> List<T> Foo(List<T> list1) {
    List<T> list2 = new ArrayList<T>();

    //more code

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM