mar*_*den 34 java arrays arraylist
在java中是否有用于将ArrayList转换为对象数组的命令.我知道如何将每个对象从arrayList复制到对象数组中,但我想知道它是否会自动完成.
我想要这样的东西:
ArrayList<TypeA> a;
// Let's imagine "a" was filled with TypeA objects
TypeA[] array = MagicalCommand(a);
Run Code Online (Sandbox Code Playgroud)
Mar*_*iot 96
像标准的Collection.toArray(T [])之类的东西应该做你需要的(注意ArrayList
实现Collection
):
TypeA[] array = a.toArray(new TypeA[a.size()]);
Run Code Online (Sandbox Code Playgroud)
另外,您应该考虑将a
类型定义为类型List<TypeA>
而不是ArrayList<TypeA>
,这样可以避免某些特定于实现的定义,这些定义可能并不适用于您的应用程序.
另外,请看这个问题,关于使用a.size()
而不是0
传递给数组的大小a.toArray(TypeA[])
Sha*_*k T 11
您可以使用此代码
ArrayList<TypeA> a = new ArrayList<TypeA>();
Object[] o = a.toArray();
Run Code Online (Sandbox Code Playgroud)
然后,如果您希望将该对象返回到TypeA,只需使用instanceOf方法检查它.