加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy编译器不接受java 8 Lambdas

发布时间:2020-12-14 16:34:55 所属栏目:大数据 来源:网络整理
导读:因为,我们知道,Groovy语法接受闭包. 今天,Java 8还增加了语法关闭. 但是,当我在groovy文件中编写java8闭包时,我会收到如下错误信息: Person.findAll().stream().filter(e- e.age 20) 我们得到这个错误: org.codehaus.groovy.control.MultipleCompilationEr
因为,我们知道,Groovy语法接受闭包.
今天,Java 8还增加了语法关闭.

但是,当我在groovy文件中编写java8闭包时,我会收到如下错误信息:

Person.findAll().stream().filter(e-> e.age > 20)

我们得到这个错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script1.groovy: 7: unexpected token: -> @ line 7,column 39.
   Person.findAll().stream().filter(e-> e.controllerId > 0)
                                         ^

1 error

然而,以下作品是成功的:

Person.findAll().stream()

解决方法

是的,Groovy解析器不接受Java 8 Lambdas(而不是封闭).

你可以使用闭包代替它(假设你在Groovy 2.3.*)

即:

Person.findAll().stream().filter( { e -> e.age > 20 } )

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读