java泛型

泛型

泛型,即带有类型参数的类型。

关于C#,Java, C++的泛型比较,C#的实现者有一个专门的采访。这个文章中提到,C#的泛型是为每一种具体的类型生成一个类,在运行时生成,所以基于反射可以获取具体的类型代码;而Java的泛型,为了兼容以前的VM。

Java泛型的缺点在于,编译器手动加上了强制转换,所以执行效率并没有提升,只是起到语法糖的作用。

关于Java的泛型实现,可以参考JSR-14(google中搜索Adding Generics to Java)。

关于兼容性

这里找到一篇文章介绍怎么将Java 1.5的源代码编译到Java 1.4的VM上运行:https://alblue.bandlem.com/2010/10/compiling-java-generics-with-14.html

Java编译代码时候可以指定-source 1.5-target jsr14,这样做可以把Java 1.5中泛型的代码编译出的.class文件放在1.4的机器上运行。当然,如果代码使用了1.5的其他特性,比如enum,则编译失败,原因是enum都会编译成java.lang.Enum 的子类,而1.4中是没有java.lang.Enum的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值