我正在YouTube上遵循Java(#13(中的游戏框架教程,我卡在BookStore Application的索引方法中。我不能再进一步了,因为我得到:"模棱两可的方法调用。索引中的渲染(Set(和索引$中的渲染(Set(都匹配"。
我试图更改列表设置,但我得到的按摩基本上与列表相同。
public class BooksController extends Controller {
public Result index(){
Set<Book> books = Book.allBooks();
return ok(index.render(books)); //<--------- the error
}
}
public class Book {
public Integer id;
public String title;
public Integer price;
public String author;
public Book(Integer id, String title,Integer price, String author){
this.id = id;
this.title = title;
this.price = price;
this.author = author;
}
public static Set<Book> books;
static {
books = new HashSet<>();
books.add(new Book(1, "Java", 20, "ABC"));
books.add(new Book(2,"C++", 30, "XYZ"));
}
public static Set<Book> allBooks(){
return books;
}
}
您会收到此错误,因为来自views.html.index.render
index
和 BooksController 中的方法index()
具有相同的名称,并且编译器混淆了使用什么方法。例如,只需将渲染方法的名称更改为其他名称booksIndex()
您的问题就会消失。
public class BooksController extends Controller {
public Result booksIndex(){
Set<Book> books = Book.allBooks();
return ok(index.render(books));
}
}
附言不要忘记更改您的路由文件