2015-11-14 117 views
0

在以下(简化)代码中,编译器在add方法中发出大喊(无法应用),正如Jon Skeet's answer中的解释。有没有一种干净的方式将我的扩展类分配到泛型数组?如何将扩展对象传递给泛型数组?

class a {} 
class b extends a {} 

ArrayList<? extends a> arr; 

void f() { 
    arr.add(new b()); 
} 
+0

不是你写的方式。你可能意指'列表',这将允许你添加一个'b'。 –

+0

这是一个非常可怕的想法。学习如何正确处理泛型要比完全放弃类型安全更好。 –

回答

0

a1类型应为ArrayList<? extends a> a1;