1、定义
是JDK5中引入的特性,它提供了编译时类型安全监测机制,该机制允许在编译时检测到非法的类型
它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数
一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参,那么参数化类型怎么理解呢?
顾名思义,就是将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型
这种参数类型可以用在类、方法和接口中,分别被称为泛型类,泛型方法,泛型接口
泛型定义格式
<类型>:指定一种类型的格式,这里的类型可以看成是形参
<类型1,类型2...>:指定多种类型的格式,多种类型之间用逗号隔开,这里的类型可以看成是形参
将来具体调用的时候给定的类型可以看成是实惨,并且实惨的类型只能是引用类型
泛型的好处:
把运行时期的问题提前到了编译期间
避免了强制类型转换
2、泛型类
定义格式:
格式:
修饰符 class 类名<类型>{ }
范例:
public class Genetic<T>{ }
此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用语表示泛型
3、泛型方法
格式:
修饰符<类型> 返回值类型 方法名(类型 变量名){ }
范例:
public<T> void show(T t){ }
4、泛型接口
格式:
修饰符 interface 接口名<类型>{ }
范例:
public interface Genetic<T>{ }