Groovy编译器不接受java 8 Lambdas [英] Groovy compiler does not accept java 8 Lambdas
本文介绍了Groovy编译器不接受java 8 Lambdas的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
因为,我们知道,Groovy语法接受闭包。
今天,Java 8在其语法闭包中增加了。
As , we know , Groovy syntax accepts closures . Today also, Java 8 adds in its syntax closure .
但是,当我在groovy文件中编写java8闭包时,我得到如下所示的错误:
However , When i write java8 closure in groovy file , i get an error like the following :
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(不是闭包)。
Yeah, the Groovy parser does not accept Java 8 Lambdas (not closures).
你可以使用闭包代替它're on Groovy 2.3。*)
You can use a closure in place of it (assuming you're on Groovy 2.3.*)
ie:
Person.findAll().stream().filter( { e -> e.age > 20 } )
这篇关于Groovy编译器不接受java 8 Lambdas的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文