小编zho*_*xin的帖子

为什么 ArrayList.toArray 方法传递数组参数而不是数组类参数?

这里我有一个 ArrayList List<String> list,我想将它转换为一个数组String[]

所以我检查了ArrayListAPI,得到了一个方法toArray(T[] a),唯一一个具有泛型类型的方法。

我想知道为什么ArrayList下面没有这样的方法?

public <T> T[] toArray(Class<T[]> type) {
    return Arrays.copyOf(elementData, size, type);
}
Run Code Online (Sandbox Code Playgroud)

所以我只是在list.toArray(String[].class)不创建新数组的情况下调用它。它工作我尝试它,我认为它更简单。

当然,也许我没有得到作者关于ArrayList.toArray.

所以想请大家指出我的错误或分享我原始方法的优点toArray(T[] a)。谢谢!:)

java

1
推荐指数
1
解决办法
178
查看次数

标签 统计

java ×1