编程自学指南:java程序设计开发,泛型-泛型的类型擦除学习笔记,泛型是编译期特性,编译器会在编译时移除所有泛型类型信息(类型参数),并在必要时插入类型转换,使代码在运行时与普通非泛型代码行为一致。

java程序设计开发,泛型-泛型的类型擦除学习笔记,泛型是编译期特性,编译器会在编译时移除所有泛型类型信息(类型参数),并在必要时插入类型转换,使代码在运行时与普通非泛型代码行为一致。

Java 程序设计开发:泛型的类型擦除学习笔记

一、类型擦除(Type Erasure)核心概念

定义
泛型编译期特性,编译器会在编译时移除所有泛型类型信息(类型参数),并在必要时插入类型转换,使代码在运行时与普通非泛型代码行为一致。
目的

  • 保持与旧版本 Java(JDK 1.5 前)的兼容性。
  • 减少运行时内存开销,泛型类型信息仅在编译期有效。

二、类型擦除的核心机制

1. 擦除规则
  • 无界类型参数(如<T>:擦除为Object
  • 有界类型参数(如<T extends Number>:擦除为上限类型(Number)。
  • 通配符类型(如? extends T/? super T:擦除为上限或下限的边界类型。
2. 编译期 vs 运行时
阶段 泛型类型状态 示例(List<String> list = new ArrayList<>();
编译期 存在具体类型参数(Str
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zl515035644

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

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

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

打赏作者

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

抵扣说明:

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

余额充值