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就是终结。
这就是函数式编程的风格。