从数组转换为 vector 时的java泛型问题

标签 java arrays generics vector

为什么不允许这样做? 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/

相关文章:

java - 在 fragment 中裁剪图像

javascript - 从 reviver 访问 JSON 对象中的数组

c++ - 这个 C++ 代码是可移植的吗? (假设多维数组有连续的内存布局)

C# 计算每个给定范围的函数最小值

java - ArrayList<int> 与 ArrayList<int[]>?

java - 为什么 Jackson,GSON...不使用泛型而是传递类对象来反序列化对象

java - Swagger 变形器 + 复杂对象

Java - 读取文件并拆分为多个文件

javascript - typescript :注入(inject)泛型并获取 ES6 模块名称

Java Azure ServiceBusService listQueues() 上限为 100 个队列?