2010-11-24 12 views
0

Können sagen, ich Funktiondurch eine generische Auflistung Verfahrgeschwindigkeit

void sell(Collection<? extends T> items) { 
    for (? e : items) { 
     stock.add(e); 
    } 
} 

wie man sehen kann ich durch die Elemente wollen laufen haben, aber ich kann die Notation ? e nicht verwendet werden, da sie den Fehler „illegal Start spuckt aus Ausdruck".

+0

Wenn Sie nur alle hinzufügen möchten, können Sie auch stock.addAll (Elemente) verwenden. – codeplay

Antwort

10

Jeder der Artikel in der Sammlung ist ein T oder eine Unterklasse von T, so dass Sie T verwenden können. Sie kennen nicht die genauen Arten der Einzelteile, aber das ist nicht wichtig; Sie kennen ihre gemeinsame Basisklasse.

for (T e: items) { 
    stock.add(e); 
} 
Verwandte Themen