2015-11-14 52 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;