java入坑之泛型

一、泛型入门

1.1基础概念

Java泛型是JDK 5中引入的一个新特性,它提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型

泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这意味着你可以使用一套代码来处理多种不同类型的数据

1.2JDK中自带的泛型类和用法

二、自定义泛型设计

2.1 泛型类

ArrayList<E>,E表示元素Element;
HashMap<K,V>, ,K表示Key,V表示Value;
自定义泛型变量常用T,T表示Template。

 2.2泛型类的调用

 2.3泛型方法

2.4泛型接口

三、泛型类型限定

3.1泛型类的继承 

3.2上限界定符

上限界定符,Pair<? extends S> 

 3.3下限界定

3.4泛型PECS原则

- Producer Extends, Consumer Super


-要从泛型类读取类型T的数据,并且不能写入,可以使用?extends 通配符;(Producer Extends,泛型类是生产者,往外输出东西)


-如果要向泛型类写入类型T的数据,并且不需要读取,可以使用?super 通配符;(Consumer Super,泛型类是消费者,往内增加东西)


-如果既想写入又想读出,那就不用通配符

3.5无限定泛型

四、泛型实现的本质和约束

4.1类型擦除

JDK的版本是向后兼容的即低版本的class文件可以在高版本的JDK上运行
因此,JVM里面没有泛型对象,而是采用类型擦除技术,只有普通的类和方法

4.2无限定的

 4.3有限定的

4.4自动转换(自动桥方法)

 4.5泛型的约束

五、Java类型协变和逆变 

5.1面向对象语言

 5.2JAVA数组

5.3java泛型

5.4复合 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟雨平生9527

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值