泛型
# java 泛型
关于基础知识
直接看这篇,十分全面,此处不赘述:
# 泛型擦除:
泛型本质上是写给IDE和编译器看的,所以运行时方法栈帧里没有了泛型信息. 这一点从其字节码也可以看出.
泛型的目的是提供一个语法糖,能在编译期就进行类型检查和提供自动转换功能,
同时为了兼容jdk1.5之前的jvm(生成的字节码要能被之前的jvm识别),于是只能有增,而不能减或者变.
为了要在运行时获取泛型信息,只能在类信息里新增一点东西,
这样不会影响字节码在只支持jdk1.5以下的jvm的运行.
同时,在jdk1.5后,能通过新的api去获取泛型信息.
# java里的Type及其子类
目的: 用于获取类/方法上的泛型,然后可以作为一个普通变量来使用
看此篇即可: Java中的Type详解 (opens new window)
这里主要介绍一些使用心得
# 1 静态方法不支持泛型
# 2 父类里获取子类实现的具体泛型
# 3 json解析里typetoken的操作
编辑 (opens new window)
上次更新: 2022/08/16, 20:05:05