如何将数组转换为 Java 中的列表?
我使用了 Arrays.asList()
但行为(和签名)以某种方式从 Java SE 1.4.2 (文档现在在存档中)更改为 8 ,我在网上找到的大多数片段都使用 1.4.2 行为。
例如:
int[] numbers = new int[] { 1, 2, 3 };
Arrays.asList(numbers)
- 在 1.4.2 上返回包含元素 1、2、3 的列表
- 在 1.5.0+ 上返回一个包含数组“numbers”的列表
在许多情况下,它应该很容易被发现,但有时它可能会被忽视:
Assert.assertTrue(Arrays.asList(numbers).indexOf(4) == -1);
原文由 Alexandru 发布,翻译遵循 CC BY-SA 4.0 许可协议
在您的示例中,这是因为您不能拥有原始类型的列表。换句话说,
List<int>
是不可能的。但是,您可以使用
List<Integer>
Integer
包装int
原语的类来拥有 —。使用Arrays.asList
实用方法将数组转换为List
—。在 IdeOne.com 上查看此代码的实时运行。