使用stream进行转换(jdk8 推荐)
jdk版本低于1.8不可以使用。
数组通过 Arrays 工具类的 stream() 方法进行流化,获取 Stream 对象。boxed()方法是用来装箱的。
int[]转List
int[]转List时需要注意的是,int是基本数据类型,转Integer类型需要装箱操作,即boxed(),然后才能collect()收集
int[] arys = {1,2,3};
List<Integer> list = Arrays.stream(arys).boxed().collect(Collectors.toList());
List转int[]
list转int[]时需要注意的是,list里存的是引用数据类型,如果是Integer需要拆箱操作,即mapToInt(i->i),不然的话直接toArray()的话jdk认为你想转成一个Object[]
List<Integer> list = Arrays.asList(1, 3, 4);
int[] ints = list.stream()
.mapToInt(i -> i)
.toArray();
Arrays.stream(ints).forEach(System.out::print);