将ArrayList <string>数据转换/传输到String []时不兼容的类型错误

时间:2015-10-19 23:00:10

标签: java arrays algorithm arraylist compiler-errors

我试图将我收集的值带到字符串的ArrayList中并将它们转移到一个字符串数组中,以便我可以通过接受数组的算法运行数据。我可以在main方法中执行此操作,但这不是很有效,因为数据必须通过多个排序算法运行,因此每次调用算法时我都需要再次创建数组。我决定将其写入自己的效率方法。但是,如果我将它放在一个单独的方法中,则相同的代码会引发错误。

这是罪魁祸首:

public static String[] transferDefs(ArrayList defs){
//Copy ArrayList values into String[] for sorting
String[] a = new String[defs.size()];
for(int i = 0; i < defs.size(); i++){
  a[i] = defs.get(i); //THIS LINE CAUSES ERROR
}
return a;

}

我也尝试使用ArrayList.toArray()方法而不是for循环。出现同样的问题。 有什么建议?谢谢!

1 个答案:

答案 0 :(得分:0)

请尝试以下代码:

public static String[] transferDefs(ArrayList<String> defs) {
    // Copy ArrayList values into String[] for sorting
    String[] a = new String[defs.size()];
    for (int i = 0; i < defs.size(); i++) {
        a[i] = defs.get(i); // THIS LINE CAUSES ERROR
    }
    return a;
}