ArrayList<>.values.toArray,转换为自定义类型数组

jim*_*jim 3 java casting

因此,假设我有以下类型:myListof 类型ArrayList<CustomType>,并且我想将其转换为数组,我将如何处理?

我努力了

CustomType[] myArr = (CustomType)myList.toArray();
Run Code Online (Sandbox Code Playgroud)

这个编译没有问题,但我在运行时遇到转换异常。我当前的解决方案是迭代 ArrayList 并将每个条目写入数组,这不好。

任何想法?谢谢。

Sur*_*ran 5

你有一个带有类型的 toArray 版本

toArray(T[] a)

所以你会这样做:

myList.toArray(new CompositeType[myList.size()]);
Run Code Online (Sandbox Code Playgroud)