想象一下,我有以下类型myList
类型为ArrayList<CustomType>
,我想将其转换为数组,我该怎么做呢?
我试过了
CustomType[] myArr = (CustomType)myList.toArray();
这个编译没问题,但我在运行时得到了一个转换异常。我目前的解决方案是遍历ArrayList并将每个条目写入数组,这不是很好。
有什么想法吗?感谢。
答案 0 :(得分:3)
答案 1 :(得分:1)
myList.toArray(new CustomType [myList.size]);
答案 2 :(得分:0)
不传递任何参数的toArray()方法返回Object []。因此,您必须将数组作为参数传递,该数组将填充列表中的数据并返回。您也可以传递一个空数组,但也可以传递一个具有所需大小的数组。
CustomType [] array = myList.toArray(new CustomType [list.size()]);
答案 3 :(得分:0)
您的myArr是一个CustomType数组,您无法将CustomType对象强制转换为CustomType数组对象。这样做:
CustomType[] myArr = (CustomType[])myList.toArray();