JAVA 8 方法
//将int数组转换为Integer数组
int[] nums = {1,2,3};
//先将int数组转换为数值流
IntStream stream = Arrays.stream(nums);
//流中的元素全部装箱,转换为流 ---->int转为Integer
Stream<Integer> integerStream = stream.boxed();
//boxed()的作用就是将基本(原始)类型的stream转成了包装(boxed)类型的Stream
//例如:上述方法实现的是int类型的stream转成了Integer类型的Stream
//将流转换为数组
Integer[] integers = integerStream.toArray(Integer[]::new);
System.out.println(Arrays.toString(integers)); //[1,2,3]
//将Integer数组转换为int数组
Integer[] nums = {null, 1, 2, 3};
//先将Integer数组转换为数值流
Stream<Integer> stream = Arrays.stream(nums);
//流中的元素全部装箱,转换为流 ---->Integer转为int
IntStream intStream = stream.mapToInt(i -> i == null ? 0 : i.intValue());
// Stream mapToInt(ToIntFunction mapper)返回一个IntStream,其中包括将给定函数应用于此流的元素的结果。
//将流转换为数组
int[] ints = intStream.toArray();
System.out.println(Arrays.toString(ints)); //[0,1,2,3]
Integer[] obj = new Integer[]{1, 2, 3};
int[] newObj = Arrays.stream(obj).mapToInt(Integer::valueOf).toArray();
System.out.println(Arrays.toString(newObj)); [1,2,3]
List<Integer> list = Arrays.asList(1, 2, 3, 4);
list.stream().mapToInt(t -> t*2).forEach(System.out::println);
//2 4 6 8
System.out.println(list.stream().mapToInt(t -> t*2).sum()); //20
参考资料