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就是終結。

這就是函數式編程的風格。

相關文章
相關標籤/搜索