泛型方法和构造器
如果在申明方法或者构造器的时候使用类型参数的话,就可以定义泛型方法和泛型构造器。这和定义一个普通的泛型基本上无二样,除了类型参数的作用范围只是在定义它的方法或者构造器之中。
/**
* This version introduces a generic method.
*/
public class Box<T> {
private T t;
public void add(T t) {
this.t = t;
}
public T get() {
return t;
}
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
public <U> void inspect(U u){
System.out.println("T: " + t.getClass().getName());
System.out.println("U: " + u.getClass().getName());
}
public static void main(String[] args) {
Box<Integer> integerBox = new Box<Integer>();
integerBox.add(new Integer(10));
integerBox.inspect("some text");
}
}
在上面的例子中,我们定义了一个泛型方法inspect,而该泛型方法定义了一个类型参数U。这个方法接收输入的参数并将其类型输出,为了比较,它也将T的类型输出。这个类中还有一个main方法使得它可以直接运行,而且输出如下:
T: java.lang.Integer
U:java.lang.String
通过输入不同的参数,输出也会跟着相应的变化。
文章评论(0条评论)
登录后参与讨论