简体   繁体   English

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

[英]Can only iterate over an array or an instance of java.lang.Iterable in java

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

I am getting the error: 我收到错误消息:

Can only iterate over an array or an instance of java.lang.Iterable 只能迭代一个数组或java.lang.Iterable的实例

What does this mean? 这是什么意思? How can I fix it? 我该如何解决?

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

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

an.getSortedByAnQty() returns an Object ( null ) which is not an instance of Iterable<List<String>> . an.getSortedByAnQty()返回一个Objectnull ),它不是Iterable<List<String>>的实例。

What you want is probably just this for(List<String> wlist : an) since an is of type Anagrams which implements Iterable<List<String>> 您想要的可能只是for(List<String> wlist : an)因为animplements Iterable<List<String>> Anagrams implements Iterable<List<String>>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 只能迭代一个数组或java.lang.Iterable的实例 - Can only iterate over an array or an instance of java.lang.Iterable 只能迭代java.lang.Iterable的数组或实例吗? - Can only iterate over an array or an instance of java.lang.Iterable? Eclipse 编译错误显示不正确(只能迭代数组或 java.lang.Iterable 的实例) - Eclipse compile error shown incorrectly (Can only iterate over an array or an instance of java.lang.Iterable) 错误:只能遍历数组或java.lang.Iterable的实例 - Error: can only iterate over an array or an instance of java.lang.Iterable 使用FileUtils时只能迭代数组或java.lang.Iterable的实例 - Can only iterate over an array or an instance of java.lang.Iterable while using FileUtils 另一个“只能迭代数组或java.lang.Iterable的实例”问题 - Yet another “Can only iterate over an array or an instance of java.lang.Iterable” issue 规则编译错误:只能迭代java.lang.Iterable的数组或实例 - Rule Compilation error : Can only iterate over an array or an instance of java.lang.Iterable ForStatement-只能迭代数组或java.lang的实例。在csv文件创建中可迭代 - ForStatement - Can only iterate over an array or an instance of java.lang.Iterable in csv file creation 在reducer中的for循环上获得编译错误“只能迭代数组或java.lang.Iterable实例” - Getting compilation error “Can only iterate over an array or an instance of java.lang.Iterable” at for loop in reducer 我正在使用Collection只能迭代数组或java.lang.Iterable的实例 - i am using Collection Can only iterate over an array or an instance of java.lang.Iterable
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM