【发布时间】:2020-05-22 19:52:01
【问题描述】:
我正在尝试使用 toArray() 将 ArrayList 转换为 Array,但它返回一个 object[] 而不是 double[]。见下文:
double [] arr = arrList.toArray(new Double[arrList.size()]);
我收到不兼容的类型错误。
这是 arrList 包含的内容:
I/System.out: [0.0, 2.455430030822754, 1.834529995918274, 0.7368429899215698, -0.5264459848403931, -1.5101100206375122, -1.8526500463485718, -1.6131700277328491, -0.9388419985771179, 0.053711701184511185, 0.35541099309921265, -0.18560799956321716, -0.884518027305603, -1.4304900169372559, -1.5486400127410889, -0.943471014499, 0.0]
获取方式如下:
private void rec(SensorEvent event) {
double x = event.values[0];
arrList.add(x);
}
我尝试过不调整数组大小(即使用新的 Double[0]),虽然我认为这不是问题,但这也不起作用。
我在网上寻找了类似的 Q,我发现的只是字符串示例,我在想 Double 可能是问题所在?不太确定。
在这方面很新,如果很明显,请道歉。
【问题讨论】:
-
@Code-Apprentice 现在已经解决了
-
@ItsLogic,解释一下。我还没有听说过数组拆箱(出于性能原因,这将是一个糟糕的功能)。
-
@Code-Apprentice 是,但 toArray() 不能应用于 double[]
-
@M.Prokhorov 我指的是对将 double[] 更改为 Double[] 的帖子进行了编辑
-
@ItsLogic,我明白了。我以为你提到了第一条评论。
标签: java arrays arraylist collections toarray