java中ArrayList转二维数组的方法

List<int[]> list = new ArrayList<>();
list.toArray(new int[0][]);

为什么写0?看ArrayList的toarray源码

public <T> T[] toArray(T[] a) {
    if (a.length < size)
        // Make a new array of a's runtime type, but my contents:
        return (T[]) Arrays.copyOf(elementData, size, a.getClass());
    System.arraycopy(elementData, 0, a, 0, size);
    if (a.length > size)
        a[size] = null;
    return a;
}

当T泛型的长度没有list的size大时,会以size长度返回T;否则,使用传入的T。所以使用时不管写0还是其它数字,都没关系,习惯写0。

你可能感兴趣的:(java中ArrayList转二维数组的方法)