72

我有一个将可变长度字符串(String ...)作为参数的方法。我有一个List<String>。如何将其作为参数传递给方法?

4

3 回答 3

86

String...等于 aString[] 所以只需将你的转换list为 a就String[]可以了。

于 2013-05-25T10:12:25.633 回答
40

如果将列表转换为数组,则 String ... 和 String[] 是相同的。

使用

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

或者

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

然后将该数组用作String ...函数的参数。

于 2013-05-25T10:13:53.903 回答
20

您可以stream在 java 8 中使用。

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

然后可以在该...args位置使用数组。

于 2017-09-29T06:46:29.440 回答