2013-11-24 94 views
0

我一直在试图找到一个这样的答案几天,现在没有运气。现在已经很晚了,我非常疲倦,所以我想我会把它放在这里,希望有人能帮到你。这里是我在Eclipse中弹出错误的代码片段。java.lang.Iterable错误 - 这是什么意思,我该如何解决它?

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新手,所以请不要只是重复错误。我知道有一个错误,但我不知道它是什么意思或如何解决它。如果可以的话请帮忙。

谢谢。

+4

什么是bookList.filterListByTitle(title)返回? – Adarsh

+1

错误消息看起来非常具有描述性,并指出了确切的问题。 –

回答

2

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

0

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

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

相关问题