Java数组与列表相互转换注意点

java中数组和List进行转换有很多坑,一不小心就报错了,故在此记录一下。

数组转List

方法1
数组转List通常直接调用Arrays工具类的asList方法,但是这个方法只能接收引用数据,需要将数组的数据类型替换为引用类型,例如int —> Interger;

 //方法一 利用ArrayList的构造方法:
        Integer[] myList = {1,2,3,4};
        List<Integer> ints = new ArrayList<>(Arrays.asList(myList));
        ints.add(1);

方法2

//方法二  使用stream流:
        List<Integer> collect = Arrays.stream(myList).collect(Collectors.toList());
        collect.add(2);

List转数组

List转数组需要使用List.toArray方法,这里也需要注意必须是引用类型:

//生成一个数组
        ArrayList<Integer> integers = new ArrayList<>(Arrays.asList(1,2,3,4));
        System.out.println(integers);
        //必须是引用类型
        Integer[] arr = integers.toArray(new Integer[]{0});
        System.out.println(arr[0]);

toArray是泛型方法,因此在转换的时候需要指定数据类型为Integer[] 数组。

你可能感兴趣的:(JavaWeb学习笔记,java,jvm,开发语言)