如何将字符串从ArrayList <string>传递给接受多个字符串的方法?</string>

时间:2013-08-30 19:12:48

标签: android string arraylist variadic-functions

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

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

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

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

1 个答案:

答案 0 :(得分: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
}

将字符串传递给基本数组。来自varargs文档:

  

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

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

归功于this问题的文档链接。