【问题标题】:Incompatible Types Error When Converting/Transferring ArrayList<String> data to String[]将 ArrayList<String> 数据转换/传输到 String[] 时出现不兼容类型错误
【发布时间】:2016-01-18 10:41:53
【问题描述】:

我正在尝试将收集到的值放入字符串的 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 循环。出现同样的问题。 有什么建议?谢谢!

【问题讨论】:

标签: java arrays algorithm arraylist compiler-errors


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多