class Gen {
private T ob; // 定义泛型成员变量
public Gen(T ob) { this.ob = ob; }
public T getOb() { return ob; }
public void setOb(T ob) { this.ob = ob; }
public void showType()
{ System.out.println("T的实际类型是: " + ob.getClass().getName()); }
}
public class GenDemo {
public static void main(String[] args) {
// 定义泛型类Gen的一个Integer版本
Gen intOb = new Gen(88);
intOb.showType();
int i = intOb.getOb();
System.out.println("value= " + i);
System.out.println("----------------------------------");
// 定义泛型类Gen的一个String版本
Gen strOb = new Gen("Hello Gen!");
strOb.showType();
String s = strOb.getOb();
System.out.println("value= " + s); }
}
说明:比如在类后面使用<xxx>,表示使用该类时必须传入一个xxx类或它的子类。
当设计集合时,转载数据不知道以后需要装的数据类型是什么,使用T可使得代码弹性和可扩张性增强。
集合框架中,泛型可以让保存在集合中的元素指定类型约束。