42 Stimmen

Warum unterstützt Java varargs keine Sammlungen?

In meinem Java-Code verwende ich oft die sehr praktische method(Class... args) varargs. Soweit ich weiß, erlauben sie die Übergabe einer beliebigen Anzahl von Class Objekte oder ein Array von Class[] . Da ich auch häufig die Java-Sammlungsklassen verwende, bin ich von der mangelnden Kompatibilität zwischen beiden frustriert. Infolgedessen mache ich am Ende collection.toArray() aber das hat einige Sicherheitsprobleme.

Und nun die Frage: Warum erlaubt Java keine Instanzen von Iterable<T> als vararg-Argumente, sofern der generische Typ in die T... Typ des Varargs? Verwendet nicht jeder ständig Listen, Mengen usw.? Gibt es eine einfache, typsichere Möglichkeit, die Konvertierung von collection zu vararg vorzunehmen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X