使用逗号分隔将ArrayList数据转换为指定的String []?

EES*_*SHA -1 java string arraylist

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

如何将其转换ArrayListString[]

例如,我ArrayList

arrlist=[audio,video,song,tech]
Run Code Online (Sandbox Code Playgroud)

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

String[] data;

data={ "audio","video","song","tech"};
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*iot 12

你可以使用toArray(T[]):

ArrayList<?> foo;
String[] data = foo.toArray(new String[foo.size()]);
Run Code Online (Sandbox Code Playgroud)

你不必将非零长度数组传递给这个函数,但如果你这样做并且它足够大,toArray将只使用它,如果不这样做,那么toArray将进行第二次分配.这不是一个很好的优化点; 相反,它是标准惯例.

还要注意String[],它不是不可变的,它只是固定大小.无论是ArrayListString[]可以让你的数据"改变"; 如果你想要一个不可变的列表(一个无法编辑的列表以及哪些内容无法替换),你可以在Google Guava中找到一个,或者自己实现.