泛型,即参数化类型 https://docs.oracle.com/javase/tutorial/extra/generics/index.html
An enhancement to the type system that supports operations on objects of various types while providing compile-time type safety.
基本类型不能作为泛型
静态方法、静态初始化块、静态变量的声明和初始化不能使用泛型。
泛型不是重载要素
instanceof 不能用泛型
Pair<Sub> 与 Pair<Parent> 没有任何继承关系
<T super 类 & 接口> 泛型为父类
<T extends 类 & 接口> 泛型为子类
Java6及以前必须这么写 List<String> strList1 = new ArrayList<String>();
Java7及以后可以这么写 List<Integer> strList2 = new ArrayList<>();
strList1.getClass()==strList2.getClass()=>true
泛型规范:
-
T - Type(类型)
-
R - Result(结果)
-
K - Key(键)
-
V - Value(值)
-
E - Element (元素)
-
N - Number(数字)
-
? - 不确定类型
?和T的区别:Java 泛型 T,E,K,V,?,傻傻分不清?
本文深入探讨了Java泛型的概念,强调其提供编译时类型安全性。泛型不适用于基本类型,静态元素,且不支持`instanceof`操作。`Pair<Sub>`与`Pair<Parent>`无继承关系。Java6前后的语法差异以及泛型的通配符使用被提及。了解`T`、`E`等通用变量名的含义有助于理解泛型。Java泛型的使用规范和常见误区是开发者需要注意的关键点。
1960

被折叠的 条评论
为什么被折叠?



