为了账号安全,请及时绑定邮箱和手机立即绑定

在Java中将数组转换为列表

在Java中将数组转换为列表

蝴蝶刀刀 2019-07-31 14:20:04
在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的列表在1.5.0+上返回包含阵列垃圾邮件的列表在许多情况下,它应该很容易被发现,但有时它可能会被忽视:Assert.assertTrue(Arrays.asList(spam).indexOf(4) == -1);
查看完整描述

3 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

在Java 8中,您可以使用流:

int[] spam = new int[] { 1, 2, 3 };Arrays.stream(spam)
      .boxed()
      .collect(Collectors.toList());


查看完整回答
反对 回复 2019-07-31
?
温温酱

TA贡献1752条经验 获得超4个赞

谈到转换方式,这取决于你为什么需要你的List。如果您需要它只是为了读取数据。好的,你走了:

Integer[] values = { 1, 3, 7 };List<Integer> list = Arrays.asList(values);

但是如果你做这样的事情:

list.add(1);

你得到java.lang.UnsupportedOperationException。所以在某些情况下你甚至需要这个:

Integer[] values = { 1, 3, 7 };List<Integer> list = new ArrayList<Integer>(Arrays.asList(values));

第一种方法实际上不转换数组,但“代表”它就像一个List。但是数组是所有属性的固定数量的元素。请注意,您需要在构建时指定类型ArrayList


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 634 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号