当指定一个泛型类时,类的声明则包含一个或多个类型参数,这些参数被放在类名后面的一对尖括号内。例:
public class Cell<AnyType> {
private AnyType value;
public AnyType read(){
return value;
}
public void write(AnyType x){
value=x;
}
}
//应用
public class Test {
public static void main(String[] args) {
Cell<String> mycell=new Cell<String>();
mycell.write("123456");
System.out.println(mycell.read());
}
}
在这个例子中,对类型参数没有明显的限制,所以用户可以创建像Cell<String>、Cell<Integer>这样的类型实例,但是不能创建Cell<int>这样的类型(因为基本类型不适用)。在Cell类声明内部,我们可以声明泛型类型的域和使用泛型类型作为参数或返回类型的方法。
也可以声明接口是泛型的。如:
public interface Comparable<AnyType>{
public int compareTo(AnyType other);
}
注: 本文基于《数据结构与算法(Java语言描述)》一书,仅作学习交流。