Java int[] nums数组通过asLis转ArrayList 结果错误
ArrayList tmp = new ArrayList<> ();
tmp.addAll (Arrays.asList (nums));
发现一个错误,ArrayList因为没有指定泛型,变成ArrayList<int[]>,而不是想要的ArrayList
看看Arrays.asList()源码。
@SafeVarargs
@SuppressWarnings("varargs")
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
asList()返回一个new ArrayList<>(a),而 a的类型是int[][] ,在此处产生错误。
解决办法,老实用for循环。
ArrayList<Integer> tmp = new ArrayList<> ();
for (int i : nums) {
tmp.add (i);
}
res.add (tmp);