我想使用 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/