众所周知,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()方法