Java语法糖---伪泛型

来源:互联网 发布:淘宝兔妈美国代购真假 编辑:程序博客网 时间:2024/05/16 10:04

泛型技术在C#和Java之中的使用方式看似相同,但在实现上却有着根本性的分歧,C#里面泛型无论在源码中、编译后的中间语言中,或者是运行期的CLR中,都是切实存在的,List和List就是两个不同的类型,它们在系统运行期生成,有自己的虚方法表和类型数据,这种实现成为类型膨胀,基于这种方法实现的泛型是真实的泛型.

Java语言的泛型则不一样,它只在源码中存在,在编译后的字节码中就已经替换为原来的原生类型了,并且在相应的地方插入了强制类型转换的代码,因为,对于运行期的Java语言来说,LinkList和LinkList就是一个类,所以泛型技术实际上是Java语言的一颗语法糖,Java语言的泛型实现方法称为类型擦除,基于这种方法实现的泛型称为伪泛型


编译前:


把该程序用Javac编译前字节码   

然后再把把编译后的字节码反编译成Java代码



0 0
原创粉丝点击