在LeetCode上遇到这样返回值
public classSolution {public List>levelOrder(TreeNode root) {
}
}
List>
即List的内容是List的类型,直接使用List> list = new List>()是错的,因为List是接口,不能实例化(Cannot instantiate the type List>)。
但如果使用
1 List> list = new LinkedList>();
又会报错(cannot convert from LinkedList> to List>),
正确的做法是修改成:
1 List> list = new LinkedList>();
3 或
5 List> list = new LinkedList>();
这样才可以,也就是说,泛型的类型参数必须相同。
下面这种处理
1 ArrayList> list= new ArrayList>();2 或3 LinkedList> list = new LinkedList>();
也是可以的,这样就没有用 接口类引用 实现类了。
参考
原文:http://www.cnblogs.com/vin-yuan/p/5354976.html