众所周知,Java中int是基本类型,Integer是包装类型
若现在有一个int型数组:
int[] nums = {1,2,3,4,5};
直接用Arrays.asList()转成List会报错:
List<Integer> list = Arrays.asList(nums); // ×
原因是List只能接收封装类型,与数组的基本类型int不匹配。
但你又不想for循环一个一个加,有没有什么简单的写法呢?
这里教你一句话将int型的nums转为List,用到Java8的新特性Stream
List<Integer> = Arrays.stream(nums).boxed().collect(Collectors.toList());
原理:
首先把原始int数组nums放入流中,使用Arrays.stream()方法
然后将流中的int元素都封装为Integer类型,用boxed()方法
最后转成LIst,用collect()方法