在Java中将数组转换为列表

如何将数组转换为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);

code run live at IdeOne.com.

上一篇:java-该“容器设计模式”如何命名?


下一篇:【巨杉数据库SequoiaDB】巨杉 Tech | 几分钟实现巨杉数据库容器化部署