小编Kir*_*nov的帖子

Kotlin 中的 filter() 和 {} 有什么区别

我正在学习 Kotlin,并且在理解带括号和花括号的过滤器之间的区别时遇到了一些困难。如果我检查过滤器实现,Intellij 会将我重定向到同一个源。

代码示例:

listOf("john", "dave").filter { name -> name.startsWith("j") }

// versus

// simple predicate function
fun getSimplePredicate(): (String) -> Boolean = 
  name: String -> name.firstName.startsWith(prefix)

// actual filter call
listOf("john", "dave).filter(getSimplePredicate())
Run Code Online (Sandbox Code Playgroud)

如果我想以某种方式打电话filter { getSimplePredicate() }怎么办?

有办法吗?有什么区别?提前致谢

lambda predicate filter kotlin

0
推荐指数
1
解决办法
454
查看次数

标签 统计

filter ×1

kotlin ×1

lambda ×1

predicate ×1