使用下面的代码,我尝试将 double 列表的列表转换为 Double[][] 。但在方法上: Double[][] dim = list1.toArray(new Double[2][2]);
我收到此错误:
Exception in thread "main" java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.ArrayList.toArray(ArrayList.java:361)
at clustering.main.ConvertArrayTest.main(ConvertArrayTest.java:22)
此行发生错误:
Double[][] dim = list1.toArray(new Double[2][2]);
我如何无法正确转换列表?
代码:
import java.util.ArrayList;
import java.util.List;
public class ConvertArrayTest {
public static void main(String args[]){
List<ArrayList<Double>> list1 = new ArrayList<ArrayList<Double>>();
ArrayList<Double> list2 = new ArrayList<Double>();
list2.add(1.0);
list2.add(1.0);
list1.add(list2);
list2 = new ArrayList<Double>();
list2.add(2.0);
list2.add(2.0);
list1.add(list2);
Double[][] dim = list1.toArray(new Double[2][2]);
}
}
最佳答案
因为list1
是一个列表的列表,所以当您调用toArray
时,您将获得一个列表的数组。您需要迭代它,单独转换每个内部列表。
关于java - 将列表转换为 Double[][],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20556274/