gpt4 book ai didi

java - 将 Scala 条件转换为 Java 谓词

转载 作者:行者123 更新时间:2023-12-03 21:27:51 25 4
gpt4 key购买 nike

我正在使用 fabric8io Java 库在 Scala 中使用 Kubernetes。我想使用接收 java.util.Predicate 作为第一个参数的 waitUntilCondition 函数。但是,在 Scala 中谓词以不同的形式形成。我得到一个编译错误:

Type mismatch, expected: Predicate[Pod], actual: Nothing => Any

我如何在 Scala 中定义这个谓词?这是我使用的代码:

client.pods()
.inNamespace("default")
.withName("app-driver")
.waitUntilCondition(condition => condition.getStatus().getPhase().equals("Running"), 15, TimeUnit.MINUTES)

最佳答案

Scala 2.12 似乎可以在我的机器上开箱即用地编译,但是在 Scala 2.11 中,我不得不按照@KrzysztofAtlasik 的建议使用 scala-java8-compat asJavaPredicate(只是类型归属不起作用对我来说)。

如果升级到 Scala 2.12 或导入 scala-java8-compat 不是一个选项,那么尝试实例化 Predicate[Pod] 并像这样覆盖 test 方法

waitUntilCondition(
new Predicate[Pod] { def test(pod: Pod): Boolean = pod.getStatus.getPhase.equals("Running") },
15,
TimeUnit.MINUTES
)

关于java - 将 Scala 条件转换为 Java 谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55990605/

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