【发布时间】:2016-01-05 00:31:47
【问题描述】:
所以我一直在尝试在课堂上编写静态方法来练习我学到的东西。我对泛型类型和 ArrayLists 的理解仍然是空的,这就是为什么我在这里问的原因,因为故障排除非常可怕(我目前正在阅读 Java Core 9th edition 第一本书直到第 6 章)。
该方法应该接受任意数量的双精度数组(创建一个多维数组),并检查每个单独的双精度数组是否包含少于或多于三个双精度元素,然后对这些数组执行操作等。 .. 如果数组包含少于两个双精度元素,则显示错误并退出。如果超过 3 个,则创建该数组的 Arraylist 并删除任何超出的元素。
当我尝试在我的多维数组“DDs”的每个循环中创建数组“d”的 ArrayList 时,我的问题就出现了。我从this 问题中接受了所有建议,但都没有奏效,我尝试了其他网站的其他一些建议,但同样没有奏效。这是我的代码的 sn-p。
public static final void Calcs(double[]... DDs)
{
for(double[] d : DDs)
{
if(d.length < 3)
{
System.out.println("Variable Error 1 :: Array Distributed exceeds 3 types");
System.exit(0);
}else if(d.length > 3)
{
ArrayList<Double> tmp = new ArrayList<>(Arrays.asList(d));
//Type mismatch: cannot convert from ArrayList<double[]> to ArrayList<Double>
}
}
}
我的假设是数组 d 被另一个数组包围。但我不确定,而是问一个这样做的人:
我认为 x 应该是什么样子:
d = [x]
我认为它可能是什么样子:
d = [[x]]
有任何疑难解答的想法吗?我对泛型类型很陌生,这个错误并没有告诉我太多。非常感谢您的反馈。
【问题讨论】:
-
您是否尝试将“double[]”都更改为“Double[]”?
-
我有,而且它有效,我不知道数组被认为是一个对象。问题已解决,非常感谢
标签: java arrays arraylist multidimensional-array