今天做项目时遇到了这个问题,弄了N久都没出来,上网查了下才知道。
具体代码
import java.util.*;
public class AtosTest
{
public static void main(String[] args)
{
String[] alstr=null;
ArrayList al = new ArrayList();
al.add("A");
al.add("B");
al.add("C");
al.add("D");
alstr=(String[])al.toArray();
if(alstr.length>0)
{
for(inti=0;i<alstr.length;i++)
System.out.println("# "+alstr[i]);
}
else
{
System.out.println("ArrayList to String[]failure!");
}
}
}
{
}
运行结果是
系统报错!
//---------------------------------------------
改造后方法如下:
import java.util.*;
public class AtosTest
{
public static void main(String[] args)
{
String[] alstr=null;
ArrayList al = new ArrayList();
al.add("A");
al.add("B");
al.add("C");
al.add("D");
alstr=(String[])al.toArray(newString[1]);
if(alstr.length>0)
{
for(inti=0;i<alstr.length;i++)
System.out.println("# "+alstr[i]);
}
else
{
System.out.println("ArrayList to String[]failure!");
}
}
}
{
}
注意,仅仅增加了红色文字就可以顺利输出数组 alstr。
运行结果:
# A
# B
# C
# D