object数组不能转换为string数组吗
[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);
}
------解决方案--------------------
关于多态楼主好可以好好理解一下