如何将 a 转换ArrayList
为 a String[]
?
例如,我ArrayList
的是
arrlist=[audio,video,song,tech]
我想把它转换成String[]
这样的:
String[] data;
data={ "audio","video","song","tech"};
我的问题是ArrayList
数据可以动态更改,但我想要一个有限大小数组中的返回格式。
如何将 a 转换ArrayList
为 a String[]
?
例如,我ArrayList
的是
arrlist=[audio,video,song,tech]
我想把它转换成String[]
这样的:
String[] data;
data={ "audio","video","song","tech"};
我的问题是ArrayList
数据可以动态更改,但我想要一个有限大小数组中的返回格式。
您可以使用toArray(T[])
:
ArrayList<?> foo;
String[] data = foo.toArray(new String[foo.size()]);
您不必将非零长度数组传递给此函数,但如果您这样做并且它足够大,toArray 将简单地使用它,如果您不这样做,则 toArray 将进行第二次分配。这不是一个很好的优化点。相反,这是标准约定。
另请注意,String[]
它不是不可变的,它只是固定大小。ArrayList
和都String[]
将允许您的数据“更改”;如果你想要一个不可变的列表(一个无法编辑且内容无法替换的列表),你可以在 Google Guava 中找到,或者自己实现。
从
将 ArrayList<String> 转换为 String[] 数组
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