Tengo un List<Thing>
y me gustaría pasarlo a un método declarado doIt(final Thing... things)
. ¿Hay una manera de hacer eso?Pasando una lista en como varargs
El código es algo así:
public doIt(final Thing... things)
{
// things get done here
}
List<Thing> things = /* initialized with all my things */;
doIt(things);
Ese código, obviamente, no funciona porque no doIt()
toma Thing
List<Thing>
.
¿Hay alguna manera de pasar en una lista como varargs?
Esto es en una aplicación para Android, pero no veo por qué la solución no se aplicará a cualquier cosa Java
Debe ser 'things.toArray (new Thing [things.size()]);'. – Gray
Eso lo hará. (Y sí, @Gray tiene razón, es un poco más eficiente pasar la matriz del tamaño apropiado.) – xbakesx
@Gray: ambos son correctos – newacct