Mam List<Thing>
i chciałbym przekazać go do metody zadeklarowanej jako doIt(final Thing... things)
. Czy jest jakiś sposób na zrobienie tego?Przekazywanie listy jako varargs
Kod wygląda coś takiego:
public doIt(final Thing... things)
{
// things get done here
}
List<Thing> things = /* initialized with all my things */;
doIt(things);
Ten kod oczywiście nie działa, ponieważ doIt()
trwa Thing
nie List<Thing>
.
Czy istnieje sposób przekazania na listę jako varargs?
To jest w App Android, ale nie widzę dlaczego rozwiązanie nie będzie stosować się do niczego Java
Powinno to być 'things.toArray (new Thing [things.size()]);'. – Gray
To wystarczy. (Tak, tak @Gray ma rację, trochę wydajniej jest przekazać tablicę o odpowiednim rozmiarze). – xbakesx
@Gray: oba mają rację – newacct