在Java中将'ArrayList <String>转换为'String []'
我该如何将一个ArrayList<String>
对象转换为Java中的String[]
数组?
List<String> list = ..;
String[] array = list.toArray(new String[0]);
例如:
List<String> list = new ArrayList<String>();
//add some stuff
list.add("android");
list.add("apple");
String[] stringArray = list.toArray(new String[0]);
不传递任何参数的toArray()
方法返回Object[]
。 所以你必须传递一个数组作为参数,这个参数将被列表中的数据填充并返回。 您也可以传递一个空数组,但您也可以传递所需大小的数组。
重要更新 :最初上面的代码使用了new String[list.size()]
。 不过,这篇博客文章显示,由于JVM优化,现在使用new String[0]
会更好。
Java 8中的另一种选择:
String[] strings = list.stream().toArray(String[]::new);
ArrayList<String> arrayList = new ArrayList<String>();
Object[] objectList = arrayList.toArray();
String[] stringArray = Arrays.copyOf(objectList,objectList.length,String[].class);
使用copyOf,ArrayList也可以完成数组。
链接地址: http://www.djcxy.com/p/3363.html