如果不使用流操作,那么ArrayList<Integer>与int[]之间的转化必须依靠循环遍历,但是引入jdk1.8中的流操作后就会相当简便。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class MyTest {

    public static void main(String[] args) {
        int[] data = {1,8,6,4,9,5,3};

        //int[]转List<Integer>
        List<Integer> list = Arrays.stream(data)                        //将int[]转换为IntStream(也可以使用IntStream.of())
                                   .boxed()                             //使用IntStream中的boxed()装箱,将IntStream转换为Stream<Integer>
                                   .collect(Collectors.toList());       //使用Stream的collect(),将Stream<Integer>转换为List<Integer>

        //int[]转Integer[]
        Integer[] integers = Arrays.stream(data)                        //将int[]转换为IntStream(也可以使用IntStream.of())
                                   .boxed()                             //使用IntStream中的boxed()装箱,将IntStream转换为Stream<Integer>
                                   .toArray(Integer[]::new);            //使用Stream的toArray,传入IntFunction<A[]> generator,返回Integer[]

        //List<Integer>转Integer[]
        Integer[] integers1 = list.toArray(new Integer[0]);             //调用toArray,传入Integer[]对象

        //List<Integer>转int[]
        int[] ints = list.stream()                                      //先调用stream()转换成IntStream
                          .mapToInt(Integer::valueOf)                   //透过mapToInt(),将Stream<Integer>调用Integer::valueOf转换为IntStream
                          .toArray();                                   //使用intStream默认的toArray()转换成int[]

        //Integer[]转int[]
        int[] ints1 = Arrays.stream(integers)                           //将Integer[]转换成Arrays,再调用stream()转换成IntStream
                            .mapToInt(Integer::valueOf)                 //透过mapToInt(),将Stream<Integer>调用Integer::valueOf转换为IntStream
                            .toArray();                                 //使用intStream默认的toArray()转换成int[]

        //Integer[]转List<Integer>
        List<Integer> list1 = Arrays.asList(integers);                  //调用Arrays的asList()直接转换

    }

}


又香又白人人夸