java泛型

---------------------------------------------------------------------
泛型类:由类型参数修饰的类,称为泛型类
语法: 类<类型参数>
类型参数对整个类有效
实例化泛型类,一般需要明确类型参数,没有指定则为Object类型

同一个泛型类搭配不同的类型参数复合而成的类型属于同一类,但却是不同的类型
同一个泛型类与不同的类型参数复合而成的类型间并不存在继承关系,即使类型参数间存在继承关系时,也是如此。

------------------------------------------------------------------

类型通配符:?
提高使用泛型后的通用性
使用了通配符?的对象,在调用方法时,是受限的,凡是必须知道具体类型参数才能进行的操作均被禁止,不表示集合只读.
-------------------------------------------------------------------------

泛型方法:在一个方法内,对数据类型进行参数化
语法: [访问修饰符] <类型参数> <返回类型> <方法名>(形参){}
类型参数还可以作为方法的返回值 泛型方法必须在返回值前声明<类型参数>
一个static方法,无法访问泛型类的类型参数,因为类还没有实例化,所以,若static方法需要使用泛型能力,必须使其成为泛型方法。
------------------------------------------------------------

受限的类型参数: 通过继承和 实现关系 来限制 参数的类型

语法: 类型参数 extends 类或接口
例:
T extends Number 继承了类 传入的参数类型要继承这个类 或是这个类
T extends Serializable 实现了接口 传入的参数类型要实现这个接口
T extends Number & Serializable 继承了类,并实现接口 传入的参数类型要继承这个类并且实现这个接口

受限的类型通配符:通过继承和 实现关系 来限制 参数的类型
语法:
? extends 类或接口 传入的参数类型要继承 这个类 或者是实现这个接口
? super 类 传入的参数类型是这个类的父类或者是其本身

--------------------

原文地址:https://www.cnblogs.com/java888/p/10401274.html