有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我试图将收集到的值放入字符串的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) 个答案

  1. # 1 楼答案

    请尝试以下代码:

    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;
    }