【问题标题】:java.lang.Iterable error - What does this mean and how do I fix it?java.lang.Iterable 错误 - 这是什么意思,我该如何解决?
【发布时间】:2013-12-08 21:21:46
【问题描述】:

几天来,我一直试图找到这个问题的答案,但没有运气。已经很晚了,我很累,所以我想我会把它放在这里,希望有人能提供帮助。这是我在 Eclipse 中弹出错误的代码片段。

private void filterByTitle() {
    String title = Validator.getLine(sc, "Enter the Title to retrieve: ");
    System.out.println("\n" + Book.getHeadings());
    for(Book book : bookList.filterListByTitle(title)) {
        System.out.println(book);
    }   
}

有错误的部分是“: bookList.filterListByTitle(title))”。错误是“只能遍历数组或 java.lang.Iterable 的实例”。

我是 Java 新手,所以请不要重复错误。我知道有一个错误,但我不知道它意味着什么或如何修复它。如果可以的话请帮忙。

谢谢。

【问题讨论】:

  • bookList.filterListByTitle(title) 返回什么?
  • 错误消息似乎非常具有描述性,并指出了您的确切问题。

标签: java arrays iterable


【解决方案1】:

bookList.filterListByTitle() 需要返回一个实现 java.lang.Iterable 的对象,或者它需要是一个数组。在这种情况下,无论它返回什么都应该实现 Iterable 的必要方法或扩展抽象子类之一,如 AbstractList,或者是一个数组。

【讨论】:

    【解决方案2】:

    这是因为 bookList.filterListByTitle 方法不返回数组或可迭代对象。

    如果它是单个元素,则使用“if 子句”而不是“for”来检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 2016-06-17
      • 1970-01-01
      • 2019-05-17
      • 1970-01-01
      • 2021-07-14
      • 2021-06-25
      相关资源
      最近更新 更多