将数组列表转换为对象数组

2022-09-01 01:12:29

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

我想要这样的东西:

ArrayList<TypeA> a;

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

TypeA[] array = MagicalCommand(a);

答案 1

像标准 Collection.toArray(T[]) 这样的东西应该做你需要做的事(注意实现):ArrayListCollection

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

另外,您应该考虑将定义为类型而不是 ,这样可以避免某些可能并不真正适用于您的应用程序的特定于实现的定义。aList<TypeA>ArrayList<TypeA>

另外,请参阅有关使用而不是作为数组大小传递给的问题a.size()0a.toArray(TypeA[])


答案 2

您可以使用此代码

ArrayList<TypeA> a = new ArrayList<TypeA>();
Object[] o = a.toArray();

然后,如果您希望该对象返回到TypeA中,只需使用exactionOf方法检查它即可。