gpt4 book ai didi

java - 如何将 java.util.function.Predicate 实现为 Kotlin lambda?

转载 作者:IT老高 更新时间:2023-10-28 13:40:05 32 4
gpt4 key购买 nike

我需要将 java.util.function.Predicate 传递给 Java 函数。如何在 Kotlin 中将其实现为 Lambda?

我需要调用的 Java 函数:

public void foo(Predicate<String> p)

Java Lambda 实现✔:

foo(text-> true)

Kotlin Lambda 实现❌:

foo{text:String -> true}  
^^^^^^^^^^^^
Type mismatch.
Required: Predicate<String>
Found: (String) → Boolean

Kotlin-版本 1.2.21

最佳答案

从 Kotlin 1.4 开始

foo({text -> true  })

foo {text -> true}     

在 Kotlin 1.4 之前

这些变体有效:

foo(Predicate {text -> true  })  
foo(Predicate {true})
foo({true }as Predicate<String>)

关于java - 如何将 java.util.function.Predicate 实现为 Kotlin lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48828643/

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