黑马程序员技术交流社区
标题:
关于泛型的提问
[打印本页]
作者:
ㄗ灬Night|K
时间:
2013-10-11 20:41
标题:
关于泛型的提问
本帖最后由 ㄗ灬Night|K 于 2013-10-12 09:47 编辑
这里怎么用add方法添加对象啊?
ArrayList<? extends Object> al= new ArrayList<String>();
al.add("aaa"); //报错....
作者:
横塘西岸
时间:
2013-10-11 22:47
把<? extends Object>里面的东西换成String,而且不推荐前面写ArrayList,最好是换成List
作者:
Liu阳
时间:
2013-10-11 22:57
边界控制一般都用在类和方法上面比较有意义。(class B<? extends A> )
作者:
dolphin
时间:
2013-10-12 01:01
ArrayList<? extends Object> al= new ArrayList<String>()
al.add("aaa");
这个应分为两步来看,
先看右边的,你new出一个ArrayList对象,这个对象类型定义为String类型,那你就需要用ArrayList且是String类型的对象来接收了,否则会报异常;
再看左边的,从这行代码中,看出你没定义对象,也就是这个泛型使用是失败的,你没有指定是哪个对象,你用的al.add("")方法,看出你是添加String类型的对象,所以你没定义String对象类型,也就是个错误!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2