4

我有一个带有字符串的 ArrayList 和一个可以接受任意数量的字符串作为参数的方法。

ArrayList<String> list = new ArrayList<String>();
// Filling the list with strings...

public addStrings(String... args) {
    // Do something with those Strings
}

现在我想将这些字符串从我的数组列表传递给该方法。我怎样才能做到这一点?我将如何称呼addStrings()注意,arraylist 中的字符串数量可能会有所不同。

4

1 回答 1

3

你可以这样做:

ArrayList<String> list = new ArrayList<String>();
// Filling the list with strings...

    String[] stringArray = new String[list.size()];
    list.toArray(stringArray);
    addStrings(stringArray);

public addStrings(String... args) {
    // Do something with those Strings
}

将您的字符串传递到原始数组中。从可变参数文档:

最后一个参数类型后面的三个句点表示最后一个参数可以作为数组或参数序列传递。

您需要做的就是String[]从您的 a 派生List,然后将其传递给该addStrings(String... args)方法。

归功于文档链接的这个问题。

于 2013-08-30T19:23:27.527 回答