通过具体的案例理解
class Info<T>{
private T bb;
public T getBb() {
return bb;
}
public void setBb(T bb) {
this.bb = bb;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return this.getBb().toString();
}
}
public class GenericDemo03 {
public static void main(String[] args) {
Info<Integer> i = new Info<Integer>();
i.setBb(233);
talk(i);
}
public static void talk(Info<?> i) {
System.out.println(i);
}
}
在该实例中,主类中的talk方法中In'fo<?>,这个就是通配符,当
Info<Integer> i = new Info<Integer>();中泛型改变的时候,talk方法中泛型也必须跟着改变,
在具体的使用中就造成了很大的不便,所以talk()方法中使用?通配符,这样,无论类实例化的时候想要用什么数据类型,talk()方法都不用再改了