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就是終結。
這就是函數式編程的風格。