1)好的
List<int[]> listOfArrays1 = Arrays.asList( new int[]{1, 2} );
2) 好的
List<int[]> listOfArrays2 = Arrays.asList( new int[]{1, 2}, new int[]{3, 4} );
3) 编译错误 类型不匹配:无法从List<Integer>转换为List<Integer[]>
List<Integer[]> listOfArrays3 = Arrays.asList( new Integer[]{1, 2} );
4) 确定
List<Integer[]> listOfArrays4 = Arrays.asList( new Integer[]{1, 2}, new Integer[]{3, 4} );
这是
asList
的签名:public static <T> List<T> asList(T... a)
。
asList
期望传入0或多个T类型的参数"a"。我的"a"是new Integer[]{1, 2}
,类型为Integer[]
。那么,为什么它生成的是一个List<Integer>
而不是一个List<Integer[]>
呢?
List
不能与原始的int
类型一起使用。 - Sufianint[]
不是原始类型,而是一个对象。 - RaminST
可以是int[]
,但不能是int
。相关信息请参考 https://dev59.com/onE85IYBdhLWcg3wikO-。 - blgt