1.限制上边界
正确使用方法:Vector<? extends Number> x=new Vector<Integer>();
错误使用方法:Vector<? extends Number> x=new Vector<String>();
泛型类中的使用方法:
//继承它的子类中的泛型必须实现Serializable和Cloneable接口 public class BaseDao<T extends Serializable,Cloneable> { } //例如 public class BookDao extends BaseDao<Book> { } //这里的Book需要实现这两个接口 public class Book implements Serializable,Cloneable{ }限制下边界
正确使用方法:Vector<? extends Integer> x=new Vector<Number>();
错误使用方法:Vector<? extends Integer> x=new Vector<Byte>();
注意:以下代码编译不能通过
public void add(List<? extends Number> list){ //当使用?通配符时,不能再调用与类型相关的方法,指定了边界也不行 list.add(100); }