A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 普哥 中级黑马   /  2014-7-6 23:47  /  1186 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

泛型中的上下限什么时候使用?

2 个回复

倒序浏览
? extends E: 可以接受E类型或者E的子类型。 上限。
? super E:可以接收E类型或者E的父类型。 下限

这个只能靠敲代码经验了,只能意会不可言传,
用游戏版本升级来比喻吧
下限使用:
比如1.0版本  游戏场景1(先把游戏场景当成一个容器)  里面有一群怪物A,
到了2.0版本, 又开发了游戏场景2,里面有个BOSS,该BOSS继承自A,但是BOSS一般会有一俩个小弟围在身边,所以游戏场景2要接收该BOSS的父类怪物A,这时就使用了泛型下限。

上限使用
游戏版本1.0
游戏开始只有一种角色 战士A,在游戏场景1(该场景还是当做容器),但是以后的版本肯定会开发其他角色,
这些角色肯定继承一部分战士的功能,比如等级,经验条,所以该游戏场景1就使用了泛型上限,

不知道这么一说可明白


回复 使用道具 举报
让哥来;
上限 ? extends T存入对象时用,T是动物,当然可以存入狗,猫
下限 ? super T 取出时用,T狗,我当然可以说取出的是动物
一般的用法,别的不知道,先理解把
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马