如何将ArrayList
转换为String[]
?
例如,我的ArrayList
是
arrlist=[audio,video,song,tech]
我想将其转换为String[]
,如下所示:
String[] data;
data={ "audio","video","song","tech"};
我的问题是ArrayList
数据可以动态更改,但我想在有限大小的数组中使用返回格式。
答案 0 :(得分:12)
您可以使用toArray(T[])
:
ArrayList<?> foo;
String[] data = foo.toArray(new String[foo.size()]);
你不必将非零长度数组传递给这个函数,但是如果你这样做并且它足够大,toArray将只使用它,如果你不这样做,那么toArray将进行第二次分配。这不是一个很好的优化点;相反,它是标准惯例。
另请注意,String[]
不是不可变的,它只是固定大小。 ArrayList
和String[]
都会允许您的数据“更改”;如果你想要一个不可变的列表(一个无法编辑的列表和哪些内容无法替换),你可以在Google Guava中找到一个,或者自己实现自己的。
答案 1 :(得分:2)
来自
Convert ArrayList<String> to String[] array
ArrayList<String> stock_list = new ArrayList<String>();
stock_list.add("stock1");
stock_list.add("stock2");
String[] stockArr = new String[stock_list.size()];
stockArr = stock_list.toArray(stockArr);
for(String s : stockArr)
System.out.println(s);
来自http://viralpatel.net/blogs/2009/06/convert-arraylist-to-arrays-in-java.html