根据java doc的toArray()返回包含此集合中所有元素的数组。
和toArray(Object obj [])。返回包含此集合中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
第一个toArray()我了解,但是第二个toArray(Object obj [])我无法理解。请举例说明。
一个是通用的,另一个不是通用的。toArray()
将返回,Object[]
而toArray(T[])
将返回type数组T[]
。
样品:
public static void main(String[] args) { Object[] baseArray = new ArrayList<String>().toArray(); System.out.println(baseArray.getClass().getCanonicalName()); String[] improvArray = new ArrayList<String>().toArray(new String[5]); System.out.println(improvArray.getClass().getCanonicalName()); }
输出:
java.lang.Object[] java.lang.String[]