Java泛型自定义设计命名的区别以及好处

根据官方解释,原文章我在oracle官网打开显示404

E - Element

集合中使用,比如List<E>

T-Type

声明是类型持有者的名称,比如定义一个泛型dao,可以用BaseDao<T>

K-Key,V-Value

用在键值匹配,比如Map<K,V>

N-Number

这个我没用过

?

表示不确定,比如List 同 List<?>其实是一样的,指的就是java的所有对象

泛型用A、B、E、T来表示,仅仅只是个代号,看个人的命名习惯,并没有本质的区别,只是遵循官方的方便读懂与理解。

泛型的好处

1、类型安全。 泛型的主要目标是提高 Java 程序的类型安全。通过知道使用泛型定义的变量的类型限制
2、消除强制类型转换。 泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。
3、潜在的性能收益。 泛型为较大的优化带来可能。在泛型的初始实现中,编译器将强制类型转换(没有泛型的话,程序员会指定这些强制类型转换)插入生成的字节码中。但是更多类型信息可用于编译器这一事实,为未来版本的 JVM 的优化带来可能。由于泛型的实现方式,支持泛型(几乎)不需要 JVM 或类文件更改。所有工作都在编译器中完成,编译器生成类似于没有泛型(和强制类型转换)时所写的代码,只是更能确保类型安全而已。

使用泛型最大的好处直接的好处就是再也看不到黄色的提示,再也不需要加@SuppressWarnings("unchecked")了

猜你喜欢

转载自philjing.iteye.com/blog/2392014