只能迭代java中的数组或java.lang.Iterable实例

时间:2018-04-11 20:04:55

标签: java

for(List<String> wlist : an.getSortedByAnQty())

我收到错误:

  

只能遍历数组或java.lang.Iterable

的实例

这是什么意思?我该如何解决?

import java.io.*;

import java.util.*;

public class Main {

  public static void main(String[] args) throws FileNotFoundException {

    String home = System.getProperty("user.home");
    String allWords = home + "/allwords.txt";
    Anagrams an = new Anagrams(allWords);
    for(List<String> wlist : an.getSortedByAnQty()) {
      System.out.println(wlist);
    }
    System.out.println("************************");
    Scanner scan = new Scanner(new File(home, "wordsToFind.txt"));
    while(scan.hasNext()) {
      System.out.println(an.getAnagramsFor(scan.next()));
    }
    scan.close();
  }
}
import java.util.Iterator;
import java.util.List;

public class Anagrams implements Iterable<List<String>>{

    public Anagrams(String allWords) {      
    }
    public Object getSortedByAnQty() {          
        return null;
    }
    public char[] getAnagramsFor(String next) {             
        return null;
    }
    @Override
    public Iterator<List<String>> iterator() {              
        return null;
    }
} 

1 个答案:

答案 0 :(得分:2)

代码for(List<String> wlist : an.getSortedByAnQty()) ...

an.getSortedByAnQty()返回Objectnull),该Iterable<List<String>>不是for(List<String> wlist : an)的实例。

您想要的可能就是an,因为Anagrams类型implements Iterable<List<String>> /v1.0