我正试图将我收集到的值转换为字符串的数组列表,并将它们转换为字符串数组,以便我可以通过接受数组的算法运行数据。我能够在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
循环。同样的问题也会出现。有什么建议吗?谢谢!
请尝试以下代码:
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;
}