Java - 泛型

泛型 1.5以后

jdk1. 5出现的安全机制。

好处:

1,将运行时期的问题classCastException转到了编译时期。

2.避免了强制转换的麻烦。

 

<>:什么时候用?当操作的引用数据类型不确定的时候。就使用<>。将要操作的引用数据类型传入即可,其实<>就是一个用于接收具体引用数据类型的参数范围。

不可以传入基本类型

 

在程序中,只要用到了带有<>的类或者接口,就要明确传入的具体引用数据类型。泛型技术是给编译器使用的技术, 用于编译时期。确保了类型的安全。

运行时,会将泛型去掉,生成的class文件中是不带泛型的,这个称为泛型的擦除。为什么擦除呢?因为为了兼容运行的类加载器。

泛型的补偿:在运行时, 通过获取元素的类型进行转换动作。不用使用者再强制转换了。

在jdk1.5后,力荐泛型类。

 

使用泛型来接收类中要操作的引用数据类型。

在jdk1. 5后、使用泛型来接收樊中要操作的引用数据炎型,.

泛型类:

什幺吋候用?当类中的操作的引用数据类型不确定的吋候,就使用泛型来表示。

泛型接口:

在实现接口时,要传入泛型类型,这时可以传入具体数据类型,也可以传入泛型,这时这个类就是一个泛型类。

泛型方法:

 

泛型的定义必须紧跟返回值之前

当方法静态时,不能访问类上定义的泛型。如果静态方法使用泛型,只能将泛型定义在方法上。

可以对类型进行限定:

? extends E:接收e类型或者e的子类型对象。。 上限!

? super E:接收e类型或者e的父类型。下限!

一般在存储元素的时候都是用上限,因为这样取出都是按照上限类型来运算的。不会出现类型安全隐患。

通常对集合中的元素进行取出操作时,可以是用下限。

 

工具类:

collections类:中含有对集合内元素的一些操作函数(静态函数)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值