0

我有一个ArrayList<String>,我需要传递这个 ArrayList 中的每个字符串,作为这个函数的参数:

protected Void myFunction(String... params)

注意:我无法修改myFunction

4

4 回答 4

7

使用以下方法将其转换为数组toArray

myList.toArray(new String[myList.size()]);
于 2013-04-30T12:30:06.563 回答
2

1.将其作为单独的字符串传递:

List<String> list = new ArrayList<String>();
for(String element:list){
  myFunction(element);
}

2.传递一个字符串数组。

myFunction(list.toArray(new String[list.size()]));
于 2013-04-30T12:31:26.807 回答
1

将arraylist转换为String数组,然后传递

instanceName.myFunction(list.toArray(new String[list.size()]));

注意:您不必更改方法的签名。

检查这个:http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#toArray()

于 2013-04-30T12:29:37.610 回答
0

只需在参数中传递您的 ArrayList,然后在您的方法中使用 foreach 迭代数组列表:

protected void myFunction(ArrayList<String> myArrayList){
    for(String myParam : myArrayList){
        //do your stuff
    }
}
于 2013-04-30T12:33:42.390 回答