Java List.iterator()没有返回错误的参数化迭代器

时间:2015-10-03 21:03:16

标签: java generics

我有List<List<String>>,我希望iterator()方法返回Iterator<List<List<String>>,但我得到的是Iterator<List<String>>

我无法弄清楚发生了什么?

我使用的是JDK 1.7。

1 个答案:

答案 0 :(得分:4)

你有一个List<String>列表(字符串列表),所以当你迭代它时,你的迭代器会在每次调用时返回List<String>(字符串列表){ {1}}。这就是为什么它的类型是iterator.next(),它迭代字符串列表。