1. List 和 包装类数组的相互转换
//包装类和List
List<Integer> list = new ArrayList<>();
Integer[] nums = {1, 2, 3};
//List 转 Integer[]数组
//法1:
Integer[] nums = list.toArray(new Integer[](list.size()));
//法2:
Integer[] nums = list.stream().toArray(Integer[]::new);
// Integer[] 转 List
//法1: Arrays.asList(T[] t) 或 Arrays.asList(T ...)
List<Integer> list = Arrays.asList(nums);
//法2: Collections.addAll()
List<Integer> list = new ArrayList<>();
Collections.addAll(list, nums);
//法3:Arrays.stream(T[] t).collect(Colletors.toList())
List<Integer> list = Arrays.stream(nums).collect(Collectors.toList());
2. List 和 基本数据类型的数组的转换
//基本类型和List
List<Integer> list = new ArrayList<>();
int[] nums = {1, 2, 3};
// int[] 转 List
//法1 : asList() : 不能增删
List<Integer> list = Arrays.asList(Arrays.stream(nums).boxed().toArray(Integer[]::new));
//法2 : toList() : 可以增删
List<Integer> list = Arrays.stream(nums).mapToObj(Integer::new).collect(Collectors.toList());
// List<Integer> 转 int[]
int[] nums = list.stream().mapToInt(Integer::valueOf).toArray();
//或
int[] nums = list.stream().mapToInt(i -> i).toArray();
3. 基本类型数组 和 包装类数组的转换
//包装类转基本类型数组
Integer[] nums = new Integer[]{1, 2, 3};
int[] arr = Arrays.stream(nums).mapToInt(Integer::valueOf).toArray();
//基本类型转包装类数组
int[] nums = new int[]{1, 2, 3};
Integer[] integers = Arrays.stream(nums).boxed().toArray(Integer[]::new);