当前位置:编程学习 > JAVA >>

Java中Object数组对象转型泛型对象数组

请问为什么Object类型数组转型为泛型数组运行会报错?
例如:
Object[] o = new String("str","333");
String[] str = (String[])o;
System.out.println(str);//此处运行不报错
Object[] os = new Object[]{new ArrayList<People>(),new ArrayList<People>()};
ArrayList<People>[] als = (ArrayList<People>[])os;
System.out.println(als[0].get(0).getName());//此处运行出错

错误提示:[Ljava.lang.Object; cannot be cast to [Ljava.util.ArrayList;
为什么不能将Object强制转型为ArrayList呢 转型 Java --------------------编程问答-------------------- 当然不能转了,你只能 (ArrayList<People>)os[0], (ArrayList<People>)os[1],因为os是object[]的!它存放的元素才是ArrayList<People>()的! --------------------编程问答-------------------- 里面的als 是个ArrayList<Person>[]数组呀,os也是个数组!
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,