Java 数组转换成List

1 对于Object[]数组用 Arrays.asList(array)
编程

        String [] arr3 = {"hello", "cat", "baby"};
        List<String> list3 = Arrays.asList(arr3);
        list3.forEach( a3 -> {
            System.out.println(a3);
        });数组

2 对于基本类型:好比int[]就会失效函数式编程

int arr[] = {0,1,1,2,3,5,8,13,21};函数

List<Integer> intList = Arrays.asList(arr);spa

编译不能经过。对象

3 能够用Java 8 Stream API内存

int[] spam = new int[] { 1, 2, 3 };
 List<Integer> list = Arrays.stream(spam)
                        .boxed()
                        .collect(Collectors.toList());编译

4 其中的要点是boxed就是装箱,把原始类型装到对象中。stream

所以,下面的代码才是要点。
List

int[] arr = {3, 4, 5};
 Integer[] arr2 = Arrays.stream(arr).boxed().toArray(Integer[]::new);

Arrays.stream(arr)把arr流化,boxed装箱,toArray转换成数组,但不知道如何分配内存。因此Integer[]::new就是终结。

这就是函数式编程的风格。

相关文章
相关标签/搜索