
[英]Is it possible to have a Type Parameter that extends 2 other type parameters?
[英]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.