泛型

Data:3.4

2.0 理解

泛型定义很简单,工具类比较常用泛型(使用上)。
.
泛型:参数化类型,把类型当做参数传进去(事先不固定类型),具体使用的时候再确定类型
.
泛型,即“参数化类型”。顾名思义,就是将类型由原来的具体的类型’参数化’,此时类型也定义成参数形式,然后在使用/调用时传入具体的类型。

2.1泛型擦除

泛型仅存在于编译之前, 在jdk帮我们编译带泛型的代码的时候, 会自动把泛型进行擦除(变成Object)

Java: 尽量把运行时异常, 转化到编译时
      a. 提高了程序的安全性
      b. 将运行期遇到的问题转移到了编译期
      c. 省去了类型强转的麻烦

2.2泛型的写法

泛型类:把泛型定义到类上(基本上就用这个)

格式:public class 类名<泛型类型1,>		

注意:参数化类型必须是引用类型
注意: jdk1.5出现了泛型, jdk1.7 java的泛型做了改进: (后面尖括号泛型可以省略)

User1<String> user11 = new User1<>();
User1<String> user13 = new User1<String>();

泛型方法:把泛型定义在方法上

格式:public <泛型类型> 返回类型 方法名(泛型类型 .)

注意:所谓泛型方法是把泛型 ‘定义在方法上’: (意味着使用到泛型的方法不一定是泛型方法)


泛型接口:把泛型定义在接口上

格式:public  interface 接口名<泛型类型1>

2.3泛型的通配

泛型的通配: 就是java在设计泛型的时候, 为了模拟类似数组的协变功能而产生的
(并且, 泛型的通配, 避免了数组协变的不好地方)

通配的方式:
(1)泛型通配符<?>
任意类型,如果没有明确,那么就是Object以及任意的Java类了
(2)? extends E
向下限定,E及其子类
(3) ? super E
向上限定,E及其父类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Lacrimosa&L

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

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

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

打赏作者

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

抵扣说明:

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

余额充值