这一章节我们继续关于通配符的话题,主要讨论怎样捕捉通配符替代的类型参数?
例子:
package com.ray.ch13;
public class Test {
public static <T> void test(Holder<T> holder) {
T t = holder.get();
System.out.println(t.getClass().getSimpleName());
}
public static void test2(Holder<?> holder) {
test(holder);
}
public static void main(String[] args) {
test2(new Holder<Integer>(1));
test2(new Holder<Double>(1.0));
test2(new Holder<String>("1"));
}
}
class Holder<T> {
private T item;
public Holder(T t) {
item = t;
}
public T get() {
return item;
}
}
输出:
Integer
Double
String
上面的例子就是一个典型的捕捉通配符替代的类型参数的类型信息。需要注意的是,我们需要传入一个确切的类型。
总结:这一章节我们简单的介绍了一下捕捉通配符替代的类型参数,在现在编程里面其实比较少用到上面的内容。
这一章节就到这里,谢谢。
-----------------------------------