当前位置: 代码迷 >> J2SE >> object数组不能变换为string数组吗
  详细解决方案

object数组不能变换为string数组吗

热度:102   发布时间:2016-04-24 12:28:04.0
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);        }
------解决方案--------------------
关于多态楼主好可以好好理解一下
  相关解决方案