Java中是否有命令将ArrayList转换为对象数组。我知道如何将每个对象从arrayList复制到对象数组,但是我想知道是否会自动完成。

我想要这样的东西:

ArrayList<TypeA> a;

// Let's imagine "a" was filled with TypeA objects

TypeA[] array = MagicalCommand(a);

最佳答案

像标准Collection.toArray(T[])这样的东西应该可以满足您的需要(请注意ArrayList实现Collection):

TypeA[] array = a.toArray(new TypeA[a.size()]);

附带说明一下,您应该考虑将a定义为List<TypeA>类型,而不是ArrayList<TypeA>类型,这样可以避免某些特定于实现的定义,这些定义可能不适用于您的应用程序。

另外,关于传递给a.size()的数组的大小,请参见this question有关使用0而不是a.toArray(TypeA[])的信息。

10-08 08:38