记java中数组与List的转换

2019/10/22 Java

今天做leetcode的时候遇到了JAVA间数组和List的转化,本来非常简单的问题没想到遇到了报错!
题目是这样的:

int[] nums = {1, 2, 3};
List<Integer> list = Arrays.asList(nums);
lists.add(list);

这时使用 Array.asList() 会报错,查了一下,一下恍然大悟,由于是转成 List 自然不能将 int 这种基本数据类型直接转化成对象。

正确代码如下:

Integer[] nums = new Integer[]{1, 2, 3};
List<Integer> list = Arrays.asList(nums);
lists.add(list);

或者只能这样了:

int[] nums = {1, 2, 3};
List<Integer> list = new ArrayList<>();
for(int num:nums) list.add(num);

注:

Arrays.asList(strArray)返回值是java.util.Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,它并非java.util.ArrayList类。java.util.Arrays.ArrayList类具有 set(),get(),contains()等方法,但是不具有添加add()或删除remove()方法,所以调用add()方法会报错。

Search

    Table of Contents