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 } ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |