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);
posted @ 2021-11-22 22:26  YueQAQ  阅读(11)  评论(0编辑  收藏  举报