java - 如何在 Play 框架中的 Java 代码中修复“不明确的方法调用”
问题描述
我正在关注 youtube 上的 Java 播放框架教程(#13),我坚持使用 BookStore 应用程序的索引方法。自从我得到:“模棱两可的方法调用。index 中的 render(Set,) 和 index$ 中的 render(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;
}
}
解决方案
您收到此错误是因为index
fromviews.html.index.render
和您index()
在 BooksController 中的方法具有相同的名称,并且编译器混淆了使用什么方法。例如,只需将您的渲染方法的名称更改为其他名称,您booksIndex()
的问题就会消失。
public class BooksController extends Controller {
public Result booksIndex(){
Set<Book> books = Book.allBooks();
return ok(index.render(books));
}
}
PS不要忘记更改您的路线文件后
推荐阅读
- python - 如何在 Azure ML 服务计算集群上并行工作?
- r - data.table 中行的条件操作和扩展还考虑了以前没有 for 循环的扩展
- c - 将 RData 文件导入 C
- hyperlink - 为什么 gatsby 的 Link 组件的 activeClassName 不适用于我的锚链接?
- swift - 在 AVAudioPlayer 中播放音调时如何在循环之间添加延迟?
- php - Wordpress 中的当前级别导航
- swift - NSURLErrorDomain:-1003
- prestashop-1.7 - 我无法在没有登录的情况下查看类别
- aem - 如何在待机模式下修复 AEM Author 上的“handleLoginFailure”
- angular - 角 | 如何以另一个组件的形式显示对象