我有一个方法,它采用可变长度字符串(String ...)作为参数。我有一个List<String>
。我如何将此作为参数传递给方法?
答案 0 :(得分:57)
String...
等于String[]
所以,只需将您的list
转换为String[]
,就可以了。
答案 1 :(得分:34)
String ...和String []相同如果将列表转换为数组。
使用
Foo[] array = list.toArray(new Foo[list.size()]);
或
Foo[] array = new Foo[list.size()];
list.toArray(array);
然后使用该数组作为String ...
参数来运行。
答案 2 :(得分:9)
您可以在java 8中使用stream
。
String[] array = list.stream().toArray(String[]::new);
然后可以在...args
位置使用该数组。