为什么不允许这样做? arr 是一个 double[]。
Vector<Double> v = new Vector<Double>(Arrays.asList(arr));
我收到无法识别的构造函数错误。它认为我正在尝试使用 Vector(java.util.List<double[]>)
构造函数看起来很奇怪,因为为什么它会是一个 double[] 列表?如果我这样做它就会编译
Vector<Double> v = new Vector(Arrays.asList(arr));
但随后我收到有关未经检查的分配的警告
最佳答案
这是因为Double
与Java中的double
不一样。
Arrays.asList doesn't work with primitives ,因此当您使用 double[]
作为其第一个参数来调用它时,它认为您将数组本身作为 ...
中的第一个参数传递> 风格的参数列表。因此,Arrays.asList
返回一个double[]
列表,仅包含一个元素:您传入的double[]
。
关于从数组转换为 vector 时的java泛型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6474284/