- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java泛型讲述
Generic? extends List f = null; f = new GenericArrayList(); //Ok ..... f = new GenericVector(); //OK .... //以下语句会发生编译错误,因为HashMap没有实现List接口 f = new GenricHashMap(); 为通配符指定匹配上限 和限制泛型的上限相似,同样可以使用extends关键字限定通配符匹配类型的上限: incompatible types found : Genericjava.util.HashMap required: Generic? extends java.util.List f = new GenericHashMap(); //将f限定为只能代表采用java.sql.Date的父类实例化的实例 Generic? super java.sql.Date f = null; f=new Genericjava.sql.Date(); //Ok //Ok,java.util.Date是java.sql.Date的父类 f=new Genericjava.util.Date(); //错误,因为String不是java.sql.Date的父类 f=new GenericString(); 限定通配符匹配类型的下限 还可以使用super关键词将通配符匹配类型限定为某个类型及其父类型 GenericString f = new GenericString(); foo.setF(caterpillar); Generic? immutableF = f; //可读取泛型成员f中保存的字符串实例 System.out.println(immutableF.getF()); //可通过传递null参数来移除泛型成员f中保存的字符串实例 immutableF.setF(null); //不能通过immutableF的setF方法再次传递新的实例给类中 //泛型成员f,所以下面这行无法通过编译 immutableF.setF(wang); 通配符对泛型成员的影响 一旦对象使用通配字符声明,就无法利用它为类中的泛型成员传入新的实例,这时只能读取其中的泛型成员或者移除泛型成员存储的原有实例。 泛型默认类型的实例类型兼容性 实例化泛型类时采用默认泛型类型,此时泛型类的实例和其他给定类型的泛型类实例之间存在着类型兼容性,可以直接相互赋值。 使用泛型默认类型虽然可以做到类型的兼容性,但会失去泛型带来的编译时刻类型检查的优点。 GenericBoolean f1 = new GenericBoolean(); GenericInteger f2 = new GenericInteger(); Generic f = new Generic();//默认泛型类型 f = f1; //OK f = f2; //OK f1 = f; //OK f2 = f; //OK 通配符用作方法参数的局限性 考虑如下任务: 编写一个方法,该方法含有两个参数,一个参数类型为Object类型的数组,另一个参数类型为对应的强类型集合,需要将数组中的元素复制到集合中。考虑到通配符的作用,在类M中有如下的方法定义: class M{ /* aToC方法的参数c因为是用通配符表示的任意强类型的集合,而? 代表未知类型,编译器无法确定其具体的类型,所以会导致错误 */ public static void aToC(Object[] a,Collection? c){ for(Object o : a) c.add(o);//编译出错,此处可以用泛型方法解决 } } 泛型方法 不仅类可以声明泛型,类中的方法也可以声明仅用于自身的泛型,这种方法叫做泛型方法。其定义格式为: 访问修饰符 泛型列表 返回类型 方法名(参数列表){ 实现代码 } 其中泛型列表为用逗号分隔的合法Java标识符。 在泛型列表中声明的泛型,可用于该方法的返回类型声明、参数类型声明和方法代码中的局部变量的类型声明。 类中其他方法不能使用当前方法声明的泛型。 * * * * * * * * * * * * * * * * 泛型(Generics) 本章目录 强类型集合类 泛型类 泛型通配符 泛型方法 继承中的泛型 泛型接口和枚举 类型去除 集合类中的数据类型 集合类中可以存储各种数据,数据一旦存入,其类型均会转化为Object类型。 从集合类中取出数据时,一般均需要将Object类型转换回存入之前的实际类型 Vector v=new Vector();
您可能关注的文档
- IT必备手册--贝尔员工健康指南讲述.ppt
- 亲爱的小鱼概要.ppt
- ISO9001标准培训教材(刘)2007讲述.ppt
- ITSM基本介绍讲述.ppt
- 亲爱的老师_三年级思品概要.ppt
- IWE结构复习试题及答案讲述.doc
- 人·自然·社会五年级 24课概要.ppt
- 亲爱的爸爸妈妈-课件概要.ppt
- J2EE期末复习讲述.doc
- 人之所以能,是因为相信能!概要.ppt
- 2024长沙电力职业技术学院《形势与政策》期末考试能力检测试卷【突破训练】附答案详解.docx
- 2024新疆职业大学《形势与政策》期末考试考前冲刺练习题及答案详解【考点梳理】.docx
- 2025开封文化艺术职业学院《形势与政策》期末考试题库试题(原创题)附答案详解.docx
- 2024年贵州经贸职业技术学院《形势与政策》期末考试练习题附答案详解【B卷】.docx
- 2024年苏州工业园区职业技术学院《形势与政策》期末考试练习题含答案详解(A卷).docx
- 2024年西安职业技术学院《形势与政策》期末考试预测复习新版附答案详解.docx
- 2024河南女子职业学院《形势与政策》期末考试每日一练试卷及答案详解参考.docx
- 2024河南推拿职业学院电视播音主持期末考试考前冲刺练习【实用】附答案详解.docx
- 2024江西外语外贸职业学院电视播音主持期末考试模拟试题(完整版)附答案详解.docx
- 2024年许昌电气职业学院《形势与政策》期末考试能力检测试卷附答案详解(黄金题型).docx
最近下载
- 中国糖尿病足诊治指南(2024版)解读.pptx VIP
- 《中国保险业意外伤害经验发生率表(2021)》.pdf VIP
- 安伯格GRP1000 IMS技术详细说明.docx VIP
- 采购变更管理方案.docx VIP
- 电网调度规程.pptx VIP
- WS∕T 779-2021 儿童血细胞分析参考区间.pdf
- 2025浙江省“三支一扶”计划招募270人笔试备考试题及答案解析.docx VIP
- 通信工程师中级考试(传输与接入有线务实)2021真题.pdf VIP
- 全国服装设计与工艺赛项理论知识试题及答案.doc VIP
- DB3707_T 033-2021 智慧供热系统建设技术规范.docx VIP
文档评论(0)