Day14_Java(8.11)_泛型

Day14_Java_泛型

在编译阶段进行类型检查
集合中使用泛型的语法:
List<泛型>:当前List只能放该类型
Set<泛型>:
Map<泛型1,泛型2>

例子:
	使用Map保存一个复杂的数据结构
	key值为学生或者人类
	value值为该学生或者人类的地址列表

手写一个Map做类型检查
泛型的类型擦除
泛型的类型检查只是在编译阶段帮助控制输入的类型,减少或者避免ClassCastException,编译器编译成功后泛型会被擦除,也就是说.class不存在泛型
反射原理:跳过编译阶段,直接修改Runtime的数据可以直接跳过编译阶段在你的泛型定义的list中add泛型之外的类型
泛型是JDK1.5之后提出的概念,1,7之后提出菱形语法(钻石语法)

泛型类
语法:class 类名<泛型>
泛型方法:
在泛型类中写泛型方法:直接使用功能类中定义的泛型即可
在普通类中写泛型方法:
在方法的修饰符后面,返回值前添加<泛型参数>,作用域该方法
泛型接口:
语法:interface 接口名<泛型>{抽象方法}
实现类要实现该接口,如果不写明泛型,则实现的粉的参数返回值都为Object,所以要根据实际需求在实现接口的时候写明泛型
泛型类的继承:
如果子类要继承泛型父类,需要继承父类的所有泛型,如果不需要继承泛型,则需要写明父类的泛型
1.在集合中会使用泛型
2.学会写简单的泛型类
泛型中的通配?
?通配无范围或者无边界的类型,使用?通配的集合,不可使用add方法添加元素,只能添加 null元素;在编译阶段并不清楚需要什么类型;
泛型的上限和下限
下限:泛型参数super Number
上限:泛型参数extends Number

Collections:集合中的工具类
查找
排序
调换位置
倒叙输出
随机打乱原集合中的工具类

Arrays:数组中的工具类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值