1
ArrayList<ArrayList<Integer>> wordIndex = new ArrayList<ArrayList<Integer>>(Collections.<ArrayList<Integer>>nCopies(initWord.length(), null)); 

// Populate it.

Iterator<ArrayList<Integer>> iterWordIndex = new Iterator<ArrayList<Integer>>(); 

为什么我不能这样做?

 Cannot instantiate the type Iterator<ArrayList<Integer>>
4

2 回答 2

3

因为Iterator是接口。您不能创建它的实例。您需要创建实现该接口的具体类的实例(但大多数情况下,您只是从现有集合中获取引用)。

于 2013-03-28T23:50:33.057 回答
3

你不能实例化一个,Iterator因为Iterator它是一个接口。您只能实例化具体类。在这种情况下,让ArrayList生成器为您生成一个:

Iterator<ArrayList<Integer>> iterWordIndex = wordIndex.iterator();
于 2013-03-28T23:50:41.470 回答