Java学习——40、泛型
从版本5.0开始,Java支持包含数据类型作为参数的类定义。这些参数被称为泛型。
泛型通过为类、接口及方法设置类型参数,使一个类或一个方法可以在多种类型的对象上进行操作,从而减少数据类型转换,增加软件可复用性。
泛型声明
用<>表示泛型,其声明的语法格式如下:
(1)带有泛型参数的类的声明
【修饰符】 class 类<类型参数列表> 【extends父类】【implements 接口列表】
(2)带有泛型参数的接口的声明
【public】 interface 类<类型参数列表> 【extends父接口列表】
接口的用法与类相同。
(3)带有泛型参数的方法的声明
【public】【static】<类型参数列表> 返回值类型方法(【参数列表】)
例:下例为一个带有泛型参数的类Sample
public class Sample<T> {
private T data;
public void set(T t) {
data=t;
}
public T getD() {
return data;
}
public void show() {
System.out.println(data);
}
}
一旦参数化该类,就可以像其他类一样被使用了。
如下所示:
public static void main(String args[]){
Sample<String> t=new Sample<String>();//参数为字符串类型
t.set("张熹熹");
t.show();
Sample<Integer> t1=new Sample<Integer>();//参数为整型,注不能用int,要用其包装类Integer
t1.set(454);
t1.show();
Sample<B> t2=new Sample<B>();//自定义的类也可以为参数,为方便理解,本例中B没有任何成员
}
class B{
}
其运行结果如图所示: