gpt4 book ai didi

java - 在 Groovy 1.x 中编写 Java8 Lambda

转载 作者:搜寻专家 更新时间:2023-11-01 01:06:04 24 4
gpt4 key购买 nike

有没有办法在 groovy 1.x 中编写 Java8 lambda 表达式?我从这个 post 知道 groovy 2.3.x 支持 Java8 lambda 表达式但是可以用 groovy 编写 Java 8 lambda 吗?我有一些正在使用 Spock 测试的 Java 8 代码,但我的项目在使用 groovy 1.x 时停滞不前。

最佳答案

事实证明,您可以在 groovy 1.x 中使用 as 关键字将 groovy Closure 转换为 java 8 lambda。
考虑以下 java 类

public class Foo {
public static boolean getBar(Predicate<String> predicate) {
return predicate.test("hello");
}
}

从 Spock 测试(常规)我们可以写

class FooSpecTest extends Specification {
def "test foo"() {
when:
boolean result = Foo.getBar({x -> x.contains("blah")} as Predicate<String>)
then:
result == true
}
}

关于java - 在 Groovy 1.x 中编写 Java8 Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29440508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com