当前位置: 代码迷 >> J2EE >> < extends T> 与 < super T>的差异,求解
  详细解决方案

< extends T> 与 < super T>的差异,求解

热度:755   发布时间:2016-04-21 22:54:23.0
<? extends T> 与 <? super T>的区别,求解

import java.util.ArrayList;
import java.util.List;

public class Test {

    public static void main(String[] args) throws SQLException {

       List<? super Fruit> f0=new ArrayList<Fruit>();
       f0.add(new Apple());
       f0.add(new Fruit());
       f0.add(new SupApple());
       
       List<? super Fruit> f1=new ArrayList<Apple>();
       f1.add(new Apple());
       f1.add(new Fruit());
       
       List<? extends Fruit> f2=new ArrayList<Fruit>();
       f2.add(new Apple());
       f2.add(new Fruit());
       
       
       List<? extends Fruit> f3=new ArrayList<Apple>();
       f3.add(new Apple());
       f3.add(new Fruit());
       // f.add(new Apple());
        
       List<? super Apple> f5=new ArrayList<Fruit>();
       f5.add(new Apple());
       f5.add(new SupApple());
       f5.add(new Fruit());
    }
}

class Fruit{
}

class Apple extends Fruit{
}

class SupApple extends Apple{    
}


代码如上,请大家指导,上述代码有多处编译报错,求解:泛型中  extends 和 super的区别!

------解决方案--------------------
  相关解决方案