一尘不染

将数组转换为Java中的列表

java

如何在Java中将数组转换为列表?

我使用了,Arrays.asList()但是行为(和签名)从Java SE 1.4.2(现在已存档的文档)以某种方式改变为8,我在网络上发现的大多数代码片段都使用1.4.2行为。

例如:

int[] spam = new int[] { 1, 2, 3 };
Arrays.asList(spam)
  • 在1.4.2上返回包含元素1,2,3的列表
  • 在1.5.0+上返回包含垃圾邮件数组的列表

在许多情况下,它应该很容易检测到,但是有时它可能会被忽略而不会引起注意:

Assert.assertTrue(Arrays.asList(spam).indexOf(4) == -1);

阅读 359

收藏
2020-03-08

共1个答案

一尘不染

在你的示例中,这是因为你没有原始类型的列表。换句话说,这List<int>是不可能的。

但是,你可以List<Integer>使用Integer包装int原始类型的类。List使用Arrays.asList实用程序方法将数组转换为。

Integer[] spam = new Integer[] { 1, 2, 3 };
List<Integer> list = Arrays.asList(spam);
2020-03-08