java泛型中,上下界通配符
上界<? extends T>不能往里存,只能往外取 <? extends Fruit>会使往盘子里放东西的set( )方法失效 但取东西get( )方法还有效
指的是,引用内的泛型范围,最高是T类,最低不限
可以取元素
不能添加元素
下界<? super T>不影响往里存,但往外取只能放在Object对象里
使用下界<? super Fruit>会使从盘子里取东西的get( )方法部分失效,只能存放到Object对象里。set( )方法正常。
下界通配符<? super T> 指的是,引用内的泛型范围,最低是T类,最高是超类Object
可以取元素,但是取出的元素是Object
可以添加元素,添加的元素,必须是T类或者其子类
class Fruil{}
class Apple extends Fruil{
public void apple(){
System.out.println("苹果");
}
}
比如我们有Fruit类,和它的派生类Apple
然后有一个最简单的容器:Plate类
盘子里可以放一个泛型的”东西”
我们可以对这个东西做最简单的“放”和“取”的动作:set( )和get( )方法。
class Plate<T>{
private T item;
public Plate(T t){
item = t;
}
public void setItem(T t){
this.item = item;
}
public T getItem(){
return item;
}
}
![](https://img2020.cnblogs.com/blog/1898315/202003/1898315-20200311154130173-998070079.jpg)