【问题标题】:findCategoryByName(String name) possible solution (Lambda expression shows error)? - Spring BootfindCategoryByName(String name) 可能的解决方案(Lambda 表达式显示错误)? - 弹簧靴
【发布时间】:2019-08-11 02:31:28
【问题描述】:

我有两个具有多对多关系的实体(产品、类别),我要做的就是在控制器中有一个方法,该方法将按某个类别名称返回所有产品。我有两个存储库(扩展 CrudRepository)和两个类的两个服务,我有 ProductController。

ProductServiceImpl.java

ProductServiceImpl.java

我尝试在 CategoryService 中实现它,例如:

CategoryServiceImpl.java

然后在 ProductService 实现中调用此方法,以便我可以返回具有相应名称的所有产品,但 lambda 表达式不允许我返回类别对象,也不能将其分配给其他类别对象,有什么建议吗?

【问题讨论】:

  • 请在您的问题中直接在此处添加那些相当小的代码 sn-ps,这样可以更轻松地对您的确切问题进行初步概述。

标签: spring rest spring-boot


【解决方案1】:

那是因为你不能修改 lambda 内部的外部变量(它们至少应该是有效的最终变量,请参阅this)。

作为一种解决方法,您可以将 forEach() 替换为常规 for 或增强的 for 循环。

【讨论】:

    猜你喜欢
    • 2017-09-09
    • 2019-12-06
    • 1970-01-01
    • 2017-12-22
    • 2018-02-14
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 2016-08-30
    相关资源
    最近更新 更多