JAVA将字符串列表转换为字符串数组

JAVA将字符串列表转换为字符串数组,java,arrays,list,casting,Java,Arrays,List,Casting,我正在从字符串列表创建字符串数组。到目前为止,我有以下代码: ArrayList<String> layerChoices = new ArrayList<>(); for(IFeatureLayer layer : layerList){ layerChoices.add(layer.getName()); } String[] choices = (String[])layerChoices.toArray(); 问题是toArray返回的是对象[],而不是字

我正在从字符串列表创建字符串数组。到目前为止,我有以下代码:

ArrayList<String> layerChoices = new ArrayList<>();
for(IFeatureLayer layer : layerList){
   layerChoices.add(layer.getName());
}
String[] choices = (String[])layerChoices.toArray();
问题是toArray返回的是对象[],而不是字符串[],当试图转换为字符串[]时,该字符串会产生类转换异常。除了for循环之外,还有什么简单的方法可以实现我的目标?在for循环中,我将迭代对象[],将每个对象转换为字符串,然后将每个字符串添加到字符串[]?对于一个简单的任务来说,似乎有很多工作要做…

像这样使用它-String[]myArray=myList.toArraynew String[myList.size]

试试看:

String[] choices = layerChoices.toArray(new String[layerChoices.size()]);