Es scheint ein bisschen bedeutungslos, da vararg
mehr oder weniger Elemente enthalten kann, als der andere Konstruktor erwartet. Es ist auch eine ziemlich seltene Situation, wenn alle Argumente den gleichen Typ haben, so dass die vararg
passen würde. Aber nein, derzeit gibt es kein Sprachfeature, das vararg
in Parameter für Funktionen oder Konstruktoraufrufe zerlegen würde.
Ich nehme an, es ist besser für das Sprachdesign, dass Sie es explizit zeigen, dass Sie bestimmte Elemente von vararg
auswählen, da es keine versteckten Fallstricke enthält und Sie sich immer der Indizierung bewusst sind.
Aber Sie können einen vararg
-Parameter als vararg
-Parameter an eine andere Funktion oder einen anderen Konstruktor übergeben, wenn Sie ihn transformiert haben. Dies geschieht durch den Spread-Operator *
, siehe Beispiel:
Jedes Array des richtigen Typs kann mit *
übergeben werden (einschließlich vararg
selbst, da es sich um ein Array handelt), aber die Leistung von vararg
endet damit.
Tags und Links java constructor kotlin