如何将数组转换为Java中的列表?
我使用了Arrays.asList(),但行为(和签名)以某种方式从Java SE 1.4.2(现在存档中的文档)更改为8,并且我在Web上找到的大多数片段都使用1.4.2行为.
例如:
int[] spam = new int[] { 1, 2, 3 };
Arrays.asList(spam)
> 1.4.2返回包含元素1,2,3的列表
> on 1.5.0返回包含阵列垃圾邮件的列表
在许多情况下,它应该很容易被发现,但有时它可能会被忽视:
Assert.assertTrue(Arrays.asList(spam).indexOf(4) == -1);
解决方法:
在您的示例中,这是因为您不能拥有基本类型的List.换句话说,List< int>不可能.
但是,您可以使用List< Integer>使用包装int原语的Integer
类.使用Arrays.asList
实用程序方法将数组转换为List
.
Integer[] spam = new Integer[] { 1, 2, 3 };
List<Integer> list = Arrays.asList(spam);