为什么在我将ArrayList
转换为objectArray
时编译代码并在我转换{{1}时编译 NOT } ArrayList
(就在我提到" stringArray
")???
new String[0]
答案 0 :(得分:0)
为简而言之,以下是java.util.List
的两种方法的签名Object[] toArray()
以适当的顺序(从第一个元素到最后一个元素)返回包含此列表中所有元素的数组。
<T> T[] toArray(T[] a)
以适当的顺序(从第一个元素到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
因此,如果您尝试将Object[]
存储到String[]
您需要传递一个数组来指定类型。您应该直接设置长度,方法可以做到,但您可以轻松完成
new String[list.length]