[D不能转换为java.lang.Double

Ara*_*h m -1 java arraylist classcastexception

我在下面写了代码.它得到这样的信息:

线程"main"中的异常java.lang.ClassCastException:[D无法强制转换为java.lang.Double

double[] xyz = {1, 11, 111, 2, 22, 222};
ArrayList array = new ArrayList();

array.add(xyz);

double[] vals = new double[array.size()];

vals[0] = (double) array.get(0);
vals[1] = (double) array.get(1);
vals[2] = (double) array.get(2);
Run Code Online (Sandbox Code Playgroud)

我也搜索并看到Stack Overflow上的一些帖子,但它们并没有让我感觉到多少.我该怎么办?

Dun*_*nes 6

如果要向doubleArrayList 添加值数组,请执行以下操作:

Double[] xyz = {...};
ArrayList<Double> array = new ArrayList<>(); // note, use a generic list
array.addAll(Arrays.asList(xyz));
Run Code Online (Sandbox Code Playgroud)

A List无法存储基元,因此您必须Double不存储值double.如果您有现有double[]变量,则可以使用ArrayUtils.toObject()它进行转换.