java - Kotlin 中具有现有 java.util.Predicate 实例的过滤器集合

标签 java kotlin filter collections predicate

我想使用 java.util.Predicate 实现的实例来过滤 Kotlin 中的值集合,基本上如下所示:

val predicate = JsQueryPredicate<SportEvent>(query)
schedule.sport_events.filter(predicate)

但这不能编译。以下作品是推荐的做法吗?感觉有点麻烦

val predicate = JsQueryPredicate<SportEvent>(query)
schedule.sport_events.filter { predicate.test(it) }

最佳答案

您可以使用方法引用,它会隐式转换为 (T) -> Boolean,从而允许您调用 filter 方法:

schedule.sport_events.filter(predicate::test)

关于java - Kotlin 中具有现有 java.util.Predicate 实例的过滤器集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54743936/

相关文章:

Gradle NamedDomainObject 从未配置过

python - pandas:根据条件过滤整个组

r - 从R中多列的df中仅​​选择一个字符值

image - 滑动 Flutter 时应用彩色滤镜图片

java - 如何获得在 WebSphere 上运行的基本身份验证?

java - HashMap的equals依赖于EntrySet.keySet吗?

android - Runnable 未在 Android 上的 float 操作栏上运行

Java:所有派生类必须实现的抽象或通用列表

java - 向ListView添加标题时出现空指针

kotlin - 如何通过两个属性和排序器对对象列表进行排序