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


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;
    }
} 

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

an.getSortedByAnQty()返回一个不是Iterable<List<String>>实例的Object(null(。

你想要的可能就是这个for(List<String> wlist : an),因为an属于Anagrams型,implements Iterable<List<String>>

最新更新