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

ArrayList<String> entries = new ArrayList<String>();
entries.add("entry");
String[] myentries = (String[])entries.toArray();

怎么了(您可能会忽略第二行代码,这与问题无关)

2)我知道可以使用以下代码达到我的目标:
ArrayList<String> entries = new ArrayList<String>();
entries.add("entry");
String[] myentries = new String[entries.size()];
myentries = entries.toArray(myentries)

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

非常感谢你 :-)

最佳答案

第一个示例返回Object[],因为列表不知道您想要的数组类型,因此无法将其转换为String[]
您可以使用

String[] myentries = entries.toArray(new String[entries.size()]);

10-08 01:00
查看更多