首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

关于泛型中< extends A> 跟 < super A>的差别

2012-09-09 
关于泛型中? extends A 和 ? super A的差别天下文章一大抄, 继续抄?来源:? 百度上搜索泛型 super ext

关于泛型中<? extends A> 和 <? super A>的差别

天下文章一大抄, 继续抄

?

来源:? 百度上搜索"泛型 super extends" , 出来一大堆 "泛型中super与extends的形象解释", 也不知道哪个是原创,也就不炒了,反正大家一搜索, 到处都是;

?

理解:

?

定义:

List<? extends A>? alist? = new ArrayList<TypeA>();

? 这个说明TypeA是 A的子类, 从alist中获取的元素,转换成A是没有问题的;

? 但是TypeA到底是A的哪一层子类, 这个就不知道了, 如果添加一个元素进去, 譬如

? alist.add(element):

???? 这个element和TypeA 的层次关系是否对就不知道了, 所以无法添加;

?

?

List<? super A> alist = new ArrayList<TypeA>();

??? 如果用了super来修饰,? 说明TypeA是A的父类, 所以只要是A的子类添加进来,那都没问题,都可以;

?

?

?

?

?

?

?

?

?

热点排行