码迷,mamicode.com
首页 > 其他好文 > 详细

List<List<?>> lists = new ArrayList<List<?>>();

时间:2016-07-13 06:46:13      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:

2016年7月13日00:33:07 时的理解

 

List<?> 看作成一个类型,

 List<List<?>> list 表示成 此List里持有List集合,而持有的集合持有类型是某特定类型

new ArrayList<List<?>>() :ArrayList 将通过多态向上转型为List ,而此List里的持有类型也必须是List,如果是其他类型就会造成无法共融的局面(如:new ArrayList<LinkedList<?>>()),想一想在编译期一个如果此list的一个可添加对象(如:ArrayList)添加进一个实际类型是LinkedList里,在运行期间肯定会出错。

而 List<List<?>> list 表示放进去的每个对象都是List<?>类型的,这狠合理,而实际上在运行期间通过调用list里的接受 List<?>参数的的方法,将会转向实际类型ArrayList<List<?>> ,ArrayList<List<?>> 同样可以执行。

List<List<?>> lists = new ArrayList<List<?>>();

标签:

原文地址:http://www.cnblogs.com/tianweijiang/p/5665518.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!