上界通配符 ? extends
List<? extends Bird> sList = ArrayList;
extends 代表Bird 和他的子类都适用。
可以取出,不可以添加,因为不知道添加的具体的子类,所以java不让添加。
下届通配符 ? super
List<? super Bird> sList = ArrayList;
super 代表Bird和他的父类都适用。
可以添加,不可以取出。因为子类可以指向父类。添加可行,取出的时候就不知道具体类型了,所以不可取。
上界通配符 ? extends
List<? extends Bird> sList = ArrayList;
extends 代表Bird 和他的子类都适用。
可以取出,不可以添加,因为不知道添加的具体的子类,所以java不让添加。
下届通配符 ? super
List<? super Bird> sList = ArrayList;
super 代表Bird和他的父类都适用。
可以添加,不可以取出。因为子类可以指向父类。添加可行,取出的时候就不知道具体类型了,所以不可取。