永发信息网

Java中ArrayList的向上转型问题(父类与子类的关系),求大神解决

答案:4  悬赏:50  手机版
解决时间 2021-11-20 05:26
Java中ArrayList的向上转型问题(父类与子类的关系),求大神解决
最佳答案
java泛型不能这么用,泛型中实际使用类型必须一致,你这种使用方式不叫向上转型,解决方法就是
ArrayList object = new ArrayList();
FatherClass fs=null;

for(,i{
fs=(FatherClass)object.get(i);
doSomeThing.....;

}
全部回答
这个是java里面典型的一个问题:FatherClass和ChildClass是父子类关系,但ArrayList 和 ArrayList不是父子类关系,ArrayList,vector,list,linkedlist,hashmap,hashset等都是这个原则。这些泛型类都是不存在继承关系的!记住这个原则就行了
这是因为 泛型 是一个 编译欺骗 方式
所谓编译欺骗 是: 你写的代码 和 机器看到的代码是不一样的
泛型的 编译欺骗 是 在调用时 强转,你这样写 编译器 无法确认你 ArrayList 中装的具体类型是什么,无法强转的,使用 泛型的话 前后一定要统一
因为 编译器 并不知道 你后面的 类型 是否 是前面类型的子集
ArrayList();包括泛型在内的整个作为类型是无法强转成ArrayList

如果想这样使用 可以使用 extends 关键字来限制泛型参数的适用范围

List 表示泛型实际参数可以是所有实现了 Collection接口的类,如list,set等。

所以你这个就这样写
ArrayList object = new ArrayList();

代表泛型参数可以是FatherClass或者其子类
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
六月八日是什么星座和星宿
利用线段图比较0.25和0.6的大小球。
iso元气骑士重下后购买的人物还在吗
中国邮政(升昌邮政支局)地址有知道的么?有点
硼砂有腐蚀性么或者有毒么 他的溶液可以用手
在重庆找个什么工作好呢
57加一个两位数,把个位9看6.算出结果是83.正
4十4十4一3等于4x4一1对吗
没有皮带怎么让裤子不掉
龙图铝材做的怎么样?行业内人说不错,有懂行
???(高考)+你好!我是一名理科学生,成
同房55天了,怀孕才5周,是不是正
求《魂断蓝桥》带字幕免费百度云资源!
马坳有四十多岁的女人我要偷男人吗?
红豆小米豆浆怎么做
推荐资讯
做好面食的最重要一步就是发面,如何在美国发
开烤鱼用不用烤鱼箱做?
底面周长125.6cm,高14cm,接头20cm,求丝带长多
女的发这个表情是什么意思,我一直都不明白,
现代五个尊称方式
需要以下格式txt 100000 100001 100002 1....
绿茶牛轧糖怎么做?要详细的
这个是什么电影 我只想和我的匡威待在一起
实况足球2013汉达诺维奇和西里古哪个好百度
东莞横沥霞玉百货坐顺风车到东莞东火车站需要
288÷80≈
36伏的电线跟强电的电线一样吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?