web-dev-qa-db-fra.com

Comment convertir une liste en paramètre d'argument variable java

J'ai une méthode qui prend une chaîne de longueur variable (String ...) comme paramètre. J'ai un List<String> avec moi. Comment puis-je transmettre cela à la méthode comme argument?

48
java_geek

String... est égal à String[] Il suffit donc de convertir votre list en String[] et ça devrait aller.

59
FloF

String ... et String [] sont identiques si vous convertissez votre liste en tableau.

en utilisant

Foo[] array = list.toArray(new Foo[list.size()]);

ou

Foo[] array = new Foo[list.size()];
list.toArray(array);

puis utilisez ce tableau comme String ... argument pour fonctionner.

34
Alpesh Gediya

Vous pouvez utiliser stream dans Java 8.

String[] array = list.stream().toArray(String[]::new);

Ensuite, le tableau peut être utilisé dans le ...args position.

11
Searene