一、泛型概述
泛型时JDK5中引入的特性,提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型。本质时参数化类型,也就是说所操作的数据类型被指定为一个参数。
参数化类型:将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型。
这种参数类型可以在类、方法和接口中,分别称为泛型类、泛型方法和泛型接口。
二、泛型定义格式
- <类型>:指定一种类型的格式,这里的类型可以看作形参
- <类型1,类型2>:指定多种类型的格式,多种类型之间用逗号分隔,这里的类型可以看作形参
- 具体调用时,给定的类型可以看作是实参,并且实参的类型只能是引用数据类型
三、泛型的好处
- 把运行时期的问题提前到了编译期间
- 避免了强制类型转换
四、泛型类
定义格式: 修饰符 class 类名<类型>{}
示例: public class Generic{}
public class Generic<T> {
private T t;
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
}
public class Demo {
public static void main(String[] args) {
Generic<String> g = new Generic<String>();
g.setT("zlx");
System.out.println(g.getT());
Generic<Integer> g1 = new Generic<Integer>();
g1.setT(25);
System.out.println(g1.getT());
}
}