该行是:
recipeRepository.findAll().iterator().forEachRemaining(recipeSet::add);
recipeRepository
是我的 Spring 数据层。它找到数据库中的所有食谱并将它们添加到集合中。我不太熟悉 lambda 和 ::
运算符,所以我想知道是否还有另一种方法可以写下参数 recipeSet::add
?
最佳答案
问题是 findAll()
方法返回一个迭代器。您可以通过在 recipeRepository
中覆盖它来解决该问题,如下所示
@Query("SELECT r FROM Recipe r")
Set<Recipe> findAll();
这样它将返回一个集合,然后你可以执行以下操作:
Set<Recipe> recipeSet = recipeRepository.findAll();
不进行任何转换或迭代
关于java - 另一种写下这一行的方法? JPA 的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48569526/