在Java中将数组转换为列表
如何在 Java 中将数组转换为列表?
How do I convert an array to a list in Java?
我使用了 Arrays.asList()
但行为(和签名)不知何故从 Java SE 1.4.2(文档现在存档)到 8 和我在网上找到的大多数片段都使用 1.4.2 行为.
I used the Arrays.asList()
but the behavior (and signature) somehow changed from Java SE 1.4.2 (docs now in archive) to 8 and most snippets I found on the web use the 1.4.2 behaviour.
例如:
int[] spam = new int[] { 1, 2, 3 };
Arrays.asList(spam)
- 在 1.4.2 上返回一个包含元素 1、2、3 的列表
- 在 1.5.0+ 上返回一个包含数组 spam 的列表
在许多情况下,它应该很容易被发现,但有时它可能会被忽视:
In many cases it should be easy to detect, but sometimes it can slip unnoticed:
Assert.assertTrue(Arrays.asList(spam).indexOf(4) == -1);
推荐答案
在您的示例中,这是因为您不能拥有原始类型的 List.换句话说,List<int>
是不可能的.
In your example, it is because you can't have a List of a primitive type. In other words, List<int>
is not possible.
但是,您可以使用 List<Integer>java.base/java/lang/Integer.html" rel="noreferrer">Integer
类,它包装了 int
原语.将您的数组转换为 List
与 Arrays.asList
实用方法.
You can, however, have a List<Integer>
using the Integer
class that wraps the int
primitive. Convert your array to a List
with the Arrays.asList
utility method.
Integer[] spam = new Integer[] { 1, 2, 3 };
List<Integer> list = Arrays.asList(spam);
查看此在 IdeOne.com 上运行的代码.
相关文章