将ArrayList作为Java中的泛型参数传递

时间:2013-04-30 12:27:06

标签: java generics arraylist

我有ArrayList<String>,我需要传递此ArrayList中的每个String,作为此函数的参数:

protected Void myFunction(String... params)

注意:我无法修改myFunction

4 个答案:

答案 0 :(得分:7)

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

myList.toArray(new String[myList.size()]);

答案 1 :(得分:2)

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

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

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

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

答案 2 :(得分:1)

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

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

注意:您无需更改方法的签名。

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

答案 3 :(得分:0)

只需在参数中传递ArrayList,然后在方法中使用foreach迭代arraylist:

protected void myFunction(ArrayList<String> myArrayList){
    for(String myParam : myArrayList){
        //do your stuff
    }
}