这是我的代码:
private <T,L extends ArrayList<? extends T>> L Foo(L<T> list1) {
L list2 = new ArrayList<T>();
//more code
}
我正在使用IDEA并为方法参数获取以下错误消息:
Type 'L' does not have type parameters
以及用于创建ArrayList的以下错误消息:
Incompatible types. <br>Required: L <br> Found: java.utils.ArrayList<T>;
为什么会这样? L
扩展了ArrayList,因此它应该具有相同的类型参数吗?
答案 0 :(得分:-1)
我不知道L
是L
。例如,MyArrayListImpl<T>
可以是private <T> List<T> Foo(List<T> list1) {
List<T> list2 = new ArrayList<T>();
//more code
}
。
我认为这就是你想要的:
class Insect:
BEE = 0x00
WASP = 0x01
BUMBLEBEE = 0x02
class Breakfast:
HAM = 0x00
EGGS = 0x01
PANCAKES = 0x02
b = Insect.WASP
if b == Breakfast.EGGS:
print("ok")