不兼容的类型 List of List 和 ArrayList 的 ArrayList

新手上路,请多包涵

下面一行给我错误:

 Incompatible Types.

List<List<Integer>> output = new ArrayList<ArrayList<Integer>>();

是什么原因?

编辑

我知道如果我将第二个 ArrayList 更改为 List,它不会给我错误。我想知道错误的原因。谢谢

原文由 Kraken 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 421
2 个回答

如果你有一个 List<List<Integer>> 那么你就可以添加一个 LinkedList<Integer> 到它。但是您不能为 ArrayList<ArrayList<Integer>> 执行此操作,因此后者不可能是 List<List<Integer>> 的一种。

原文由 Dawood ibn Kareem 发布,翻译遵循 CC BY-SA 3.0 许可协议

The correct writing should be: List<List<Integer>> ret = new ArrayList<List<Integer>>(); Since in this way, you can add not only ArrayList but also LinkedList to ret

原文由 spiralmoon 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题