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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一小丢丢 中级黑马   /  2016-10-28 21:01  /  540 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

使用泛型定义集合对象:
泛型: 泛型,用来灵活地将数据类型应用到不同的类、方法、接口当中。将数据类型作为参数进行传(使用集合时,必须明确集合中元素的类型.)
泛型定义格式:  <元素类型>
类中定义格式:修饰符 class 类名<代表泛型的变量> {  }
方法中定义格式:修饰符 <代表泛型的变量> 返回值类型 方法名(参数){  }含有泛型的方法:跟着类走,类是什么泛型,方法就是什么泛型
的接口中定义格式:修饰符 interface 接口名<代表泛型的变量> {  }
1、始终不确定泛型的类型,直到创建对象时,确定泛型的类型
2、定义类时确定泛型的类型
泛型好处:
1.将运行时期的 ClassCastException,转移到了编译时期变成了编译失败。 
2.避免了类型强转的麻烦。 
3.指定泛型之后,可以使用增强 for
编译后的 class 文件,没有泛型的
没有泛型能保证安全吗?能,如果数据类型不符合,编译通不过
阐述泛型通配符的作用:
限定泛型的上限:  
格式:<? extends E>  ? 代表接收 E 类型或者 E 的子类型的元素 
例如,泛型限定为:? extends Person 则 ? 代表接收 Person 类型或者 Person 子类型的元素  
限定泛型的下限: 
格式:<? super E>  ? 代表接收 E 类型或者 E 的父类型的元素 
例如,泛型限定为:? super Student 则 ? 代表接收 Student 类型或者 Student 父类型的元素
参数的数据类型可以使用泛型的通配符:?,可以接收任意类型

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马