在java中将ArrayList转换为Array

Shr*_*thi 63 java arrays arraylist

我有一个ArrayList,其值为"abcd#xyz"和"mnop#qrs".我想将它转换为数组,然后用#作为分隔符拆分它,并在数组中使用abcd,mnop,在另一个数组中使用xyz,qrs.我尝试了以下代码:

String dsf[] = new String[al.size()];              
for(int i =0;i<al.size();i++){
  dsf[i] = al.get(i);
}
Run Code Online (Sandbox Code Playgroud)

但它没有说"Ljava.lang.String; @ 57ba57ba"

你能帮我吗.

tal*_*las 116

你不需要重新发明轮子,toArray()方法:

String []dsf = new String[al.size()];
al.toArray(dsf);
Run Code Online (Sandbox Code Playgroud)


小智 55

List<String> list=new ArrayList<String>();
list.add("sravan");
list.add("vasu");
list.add("raki");
String names[]=list.toArray(new String[list.size()])
Run Code Online (Sandbox Code Playgroud)


小智 6

List<String> list=new ArrayList<String>();
list.add("sravan");
list.add("vasu");
list.add("raki"); 
String names[]=list.toArray(new String[0]);
Run Code Online (Sandbox Code Playgroud)

如果你看到最后一行(new String [0]),你不必给出大小,有时间我们不知道列表的长度,所以首先给它为0,构造数组将调整大小.

  • 您可以/应该将 `new String[0]` 替换为 `new String[list.size()]` (2认同)