Kotlin 常用函数记录

it2026-08-04  25

let 函数

作用:主要用于配合?.操作符进行判空操作

例子:

//定义一个接口 interface Study { fun readBook(); fun isHome(): Boolean; } //it关键字表当前一个参数(当只有一个参数使用it指即可) fun testLet(study: Study) { //直接判空在当前Lambda表达式中会持有Study对象故也可用it来指代stduy study?.let{ study.readBook(); study.isHome(); } }

with 函数

作用:它可以在连续调用同一个对象的多个方法时让代码更简洁

例子:

val list = listOf("Aaa","Bbb","Ccc") //with 函数中传入了StringBuilder 对象故整个Lambda表达式中会持有这个对象并将表达式最后一行作为返回值 val result = with(StringBuilder()){ append("start print") for (str in list){ append(str).append("\n") } append("print done") toString() }

run 函数

作用:run函数用法和场景与with类似但是语法略有不同

例子:

val list = listOf("Aaa","Bbb","Ccc") // 只需在对象后调用run函数那么整个Lambda表达式就会持有此对象,同样最后一行也作为返回值 val result = StringBuilder().run { append("start print") for (str in list){ append(str).append("\n") } append("print done") toString() }

apply 函数

作用:apply函数和run函数也是类似都要在某个对象之后调用但是apply无法指定返回值,而是会自动的返回调用对象本身

例子:

val list = listOf("Aaa","Bbb","Ccc") val result = StringBuilder().apply { append("start print") for (str in list){ append(str).append("\n") } append("print done") } println(result.toString()) //使用apply函数进行Android Activity的启动 //此处只是展示了apply函数的基本用法 后续结合高阶函数可以实现更加通用的启动方法 val intent = Intent(context,OtherActivity::class).apply { //如果有较多数据这样写就比较有优势了 putExtra("flag","data") } context.startActivity(intent)
最新回复(0)