目录
为什么需要泛型泛型:把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊的类型
泛型和Object对比例子把对象扔进集合中,集合是不知道元素的类型是什么的,仅仅知道是Object。因此在get()的时候,返回的是Object。外边获取该对象,还需要强制转换
定义在变量上
定义在类上
T和?
T和?运用的地方有点不同,?是定义在引用变量上,T是类上或方法上
“<T>"和"<?>",首先要区分开两种不同的场景:
类型参数“<T>”主要用于第一种,声明泛型类或泛型方法。
无界通配符“<?>”主要用于第二种,使用泛型类或泛型方法
?号通配符表示可以匹配任意类型,任意的Java类都可以匹配。
只能调对象与类型无关的方法,不能调用对象与类型有关的方法。