将ArrayList <String>转换为String []

ste*_*wpf 5 java arrays casting list arraylist

1)我想知道为什么我不能这样做:

ArrayList<String> entries = new ArrayList<String>();
entries.add("entry");
String[] myentries = (String[])entries.toArray();
Run Code Online (Sandbox Code Playgroud)

这有什么问题?(您可能会忽略第二个代码行,它与问题无关)

2)我知道使用此代码可以达到目标:

ArrayList<String> entries = new ArrayList<String>();
entries.add("entry");
String[] myentries = new String[entries.size()];
myentries = entries.toArray(myentries)
Run Code Online (Sandbox Code Playgroud)

这是将ArrayList转换为String Array的首选方法吗?有更好/更短的方式吗?

非常感谢你 :-)

Pet*_*rey 13

第一个示例返回一个,Object[]因为列表不知道您想要什么类型的数组,这不能转换为aString[]

你可以用第二个稍微短一些

String[] myentries = entries.toArray(new String[entries.size()]);
Run Code Online (Sandbox Code Playgroud)