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?
String...
est égal à String[]
Il suffit donc de convertir votre list
en String[]
et ça devrait aller.
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.
Vous pouvez utiliser stream
dans Java 8.
String[] array = list.stream().toArray(String[]::new);
Ensuite, le tableau peut être utilisé dans le ...args
position.