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