Java泛型通配符以及限定
2017-03-10 09:50
387 查看
摘抄笔记
A:泛型的限定 /* * 将的酒店员工,厨师,服务员,经理,分别存储到3个集合中 * 定义方法,可以同时遍历3集合,遍历三个集合的同时,可以调用工作方法 */ import java.util.ArrayList; import java.util.Iterator; public class GenericTest { public static void main(String[] args) { //创建3个集合对象 ArrayList<ChuShi> cs = new ArrayList<ChuShi>(); ArrayList<FuWuYuan> fwy = new ArrayList<FuWuYuan>(); ArrayList<JingLi> jl = new ArrayList<JingLi>(); //每个集合存储自己的元素 cs.add(new ChuShi("张三", "后厨001")); cs.add(new ChuShi("李四", "后厨002")); fwy.add(new FuWuYuan("翠花", "服务部001")); fwy.add(new FuWuYuan("酸菜", "服务部002")); jl.add(new JingLi("小名", "董事会001", 123456789.32)); jl.add(new JingLi("小强", "董事会002", 123456789.33)); // ArrayList<String> arrayString = new ArrayList<String>(); iterator(jl); iterator(fwy); iterator(cs); } /* * 定义方法,可以同时遍历3集合,遍历三个集合的同时,可以调用工作方法 work * ? 通配符,迭代器it.next()方法取出来的是Object类型,怎么调用work方法 * 强制转换: it.next()=Object o ==> Employee * 方法参数: 控制,可以传递Employee对象,也可以传递Employee的子类的对象 * 泛型的限定 本案例,父类固定Employee,但是子类可以无限? * ? extends Employee 限制的是父类, 上限限定, 可以传递Employee,传递他的子类对象 * ? super Employee 限制的是子类, 下限限定, 可以传递Employee,传递他的父类对象 */ public static void iterator(ArrayList<? extends Employee> array){ Iterator<? extends Employee> it = array.iterator(); while(it.hasNext()){ //获取出的next() 数据类型,是什么Employee Employee e = it.next(); e.work(); } } }
相关文章推荐
- Java泛型通配符以及限定
- Java泛型 通配符的限定
- Java泛型通配符T E K V 的区别,以及 class<T> 与 class<?>的区别
- Java泛型解析(02):通配符限定
- JAVA之旅(二十一)——泛型的概述以及使用,泛型类,泛型方法,静态泛型方法,泛型接口,泛型限定,通配符
- JAVA之旅(二十一)——泛型的概述以及使用,泛型类,泛型方法,静态泛型方法,泛型接口,泛型限定,通配符
- 理解Java泛型 通配符 ? 以及其使用
- Java泛型解析(02):通配符限定
- java泛型程序设计——通配符类型+通配符的超类型限定
- Java泛型的实现以及通配符
- java泛型与通配符类型参数
- shell介绍,命令历史,命令不全和别名,通配符以及输出重定向
- java泛型中的通配符
- linux 管道符号 | ,以及&& ||等等特殊符号、通配符
- java泛型通配符
- java泛型通配符示例
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- 10-06 Linux的基本命令以及一些简单的通配符说明
- 关于struts2.5.2 初步学习 遇到的几点改变以及使用通配符调用无效的问题
- struts2的action方法匹配以及通配符的使用