由于
toArray()创建对象的数组,你不能让
Object[]成
DataObject[]铸造它而已。
toArray(DataObject[])创建一个数组
DataObject。
是的,这是Collections类的缺点,也是将泛型引入Java的一种缺点。您希望
Collection<E>.toArray()可以返回E数组,但不会。
关于
toArray(DataObject[])调用的有趣的事情:您不必使“ a”数组足够大,因此可以根据需要调用它
toArray(newDataObject[0])。
toArray(newDateObject[0])如果
.length稍后使用它来获取数组长度,则调用它实际上会更好。如果初始长度很大,并且返回了与您传递的数组对象相同的对象,则
NullPointerException稍后可能会遇到
之前我问了一个有关Java泛型的问题,并指出了这个非常有用的FAQ:http
:
//www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html



