黑马程序员技术交流社区

标题: 泛型中不能理解的问题 [打印本页]

作者: 屠赞华    时间: 2015-4-17 23:46
标题: 泛型中不能理解的问题
public static void main(String[] args) {
List<?> es = new ArrayList<String>();//这是泛型的通配符 没有问题
//es.add(null);//这是为什么呢?  为什么添加null正确  null的时候是正确的
//es.add(123);//添加其它类型都不对呢   Integer 或者是String等其他类型就不行呢 这是为什么
}
}

作者: 梦逆光377    时间: 2015-4-18 00:08
对android越来越有信心了
作者: sisel    时间: 2015-4-18 09:48
es 被声明为List<?> 那么其元素类型就未知,只能知道是Object,Integer 或者是String是具体的类型,改为List<? extends String>就可以接受String
作者: zhuchangbao    时间: 2015-4-18 09:49
因为你声明的时候就是String类型的,第一个null是属于string类型的,但是123是整型的,不一样就不能添加进去。个人见解~
作者: Wilsoncyf    时间: 2015-4-18 12:56
还没学到那,看看
作者: 有无相生    时间: 2015-4-18 14:06
向上转型ok吧
作者: 屠赞华    时间: 2015-4-18 22:01
梦逆光377 发表于 2015-4-18 00:08
对android越来越有信心了

社么意思?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2