java的泛型是"伪泛型",为什么这么说。
因为泛型只是作用在编译之前,编译之后,泛型都被擦除了(类型擦除)。
所以说它是jvm编译器层面实现的,方便在写代码时进行类型检查和约束,防止出错,在编译后的字节码中是看不到泛型信息的。
在碰到泛型相关的问题,可以参考文章,就能验证正确性。
比如:
泛型没法用基本类型int,需要用包装类Integer,因为类型擦除后,就是Object类。而基本类型不行。
参考文章:
http://blog.csdn.net/lonelyroamer/article/details/7868820
网友评论