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;
}
}





 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM