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[])
的信息。