-1

可能重复:
将 ArrayList<String> 转换为 String []

如何将 a 转换ArrayList为 a String[]

例如,我ArrayList的是

arrlist=[audio,video,song,tech]

我想把它转换成String[]这样的:

String[] data;

data={ "audio","video","song","tech"};

我的问题是ArrayList数据可以动态更改,但我想要一个有限大小数组中的返回格式。

4

2 回答 2

12

您可以使用toArray(T[])

ArrayList<?> foo;
String[] data = foo.toArray(new String[foo.size()]);

您不必将非零长度数组传递给此函数,但如果您这样做并且它足够大,toArray 将简单地使用它,如果您不这样做,则 toArray 将进行第二次分配。这不是一个很好的优化点。相反,这是标准约定。

另请注意,String[]它不是不可变的,它只是固定大小。ArrayList和都String[]将允许您的数据“更改”;如果你想要一个不可变的列表(一个无法编辑且内容无法替换的列表),你可以在 Google Guava 中找到,或者自己实现。

于 2012-05-28T13:06:08.570 回答
2

将 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

于 2012-05-28T13:07:11.683 回答