[code=Java][/code]
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("word");
list.add("a");
String[] o=(String[])list.toArray();
for (int i = 0; i < o.length; i++) {
System.out.println(o[i]);
}
//会出现Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
------解决方案--------------------
如果用那个方法,泛型的信息已经被擦除,那么你只能 遍历Object的数组
然后 每个Object数组 的单个元素转化为你想要的东西,给你贴个代码
- Java code
List<String> list = new ArrayList<String>(); list.add("hello"); list.add("word"); list.add("a"); String[] o=new String[list.size()]; Object[] obj=list.toArray(); int i=0; for(Object oo:obj){ if(oo instanceof String){ //对每个元素进行类型判断 o[i]=(String)oo; } i++; }// list.toArray(o);// for (String s:o) { System.out.println(s); }
------解决方案--------------------
关于多态楼主好可以好好理解一下