1. 泛型

1. 泛型是什么

泛型有泛型类、泛型接口、泛型方法。

  1. class HashMap<K,V>
  2. interface Generator<T>
  3. <T> T method(T t)

2. 为什么我们需要泛型

不需要写 addInt(int x, int y)、addFloat(float x, float y) 这种代码,使用泛型后修改为:
<T extends Number> T add(T x, T y)

3. 虚拟机是如何实现泛型的

泛型中的 T、K、V 等都会被擦除为 Object,但编译器在编译后会加上强制类型转换,如:
使用泛型的代码:
在这里插入图片描述

编译器编译后的代码:
在这里插入图片描述

4. 注意

这种使用无法通过编译:
因为下面两个方法的参数 List<String>、List<Integer> 被泛型擦除后都会变为 List<Object>。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值