首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

list泛型問題,该如何处理

2013-03-01 
list泛型問題public void takeList(List? extends String list) {list.add(aaa)}第二行報錯The metho

list泛型問題

public void takeList(List<? extends String> list) {
list.add("aaa");
}

第二行報錯
The method add(capture#1-of ? extends String) in the type List<capture#1-of ? extends String> is not applicable for the arguments (String)

這是爲什麽?
[解决办法]
SubFrame sf = new SubFrame();
public void takeList(List<? extends JFrame> list) {
        list.add(sf)
}
class SubFrame extends JFrame {

}
JFrame不是final的,但上面也是错误的
List<? extends T>不是继承于T的所有类的集合,
而是T的某一种子类,是不确定的一种,T可以放进去,但是其子类就不一定了,这个List<? extends T>
根本就不能用add方法
而List<? super T>,是T类的超类,T可以放进去,那么T的超类肯定都可以放进去,这个可以用add方法

热点排行