我有这个界面:
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>
之间的区别是什么?
提前谢谢