List <! - ?之间的区别extends interface - >和List <interface>

时间:2017-08-23 09:11:52

标签: java interface extends

我有这个界面:

public interface IModel extends Serializable{
    boolean isOnDb();       
}

我有一个实现IModel接口的Object:

public class Media implements Serializable, IModel {
   @Override
   public boolean isOnDb() {
      return isOnDb;
   } 
}

我想创建一个List,我可以在其中放置实现IModel接口的对象。像这样:

  List<? extends IModel> list= new ArrayList<>();
  Media media = new Media();
  list.add(m); 

上面的代码没有编译。但如果我这样做,我没有错误:

  List<IModel> list= new ArrayList<>();
  Media media = new Media();
  list.add(m); 

List<? extends IModel>List<IModel>之间的区别是什么? 提前谢谢

0 个答案:

没有答案