Kotlin标准函数
记录一些kotlin的标准函数,防止以后忘记了用法还得去翻书
let函数
let将当前对象起别名后传入后方的lambda表达式中,常常用来搭配?.
来判断是否可执行,以及执行之后的操作。
fun doStudy(study: Study?) {
study?.let{ stu->
stu.readBooks()
stu.doHomework()
}
}
相当于
fun doStudy(study: Study?) {
study?.readBooks()
study?.doHomework()
}
with函数
with函数可以使得代码更加精简,简化对同一个对象的连续调用。
在with函数体中,所有方法的调用的主体,都是with函数出传入的对象
注意,with函数体内的最后一行代码,会作为返回结果传出
val array = ArrayList<Int>()
array.add(1)
array.add(2)
array.add(3)
val array = with(ArrayList<Int>()) {
add(1)
add(2)
add(3)
this
}
当然在with后lambda表达式中,也可以穿插别的语句,都是没有问题的。
run函数
run函数和with函数的功能相似,只是调用方法不同:run函数是通过对象直接调用,with函数是通过传入参数的方式调用。
val array = ArrayList<Int>()
array.run{
add(1)
add(2)
add(3)
null
}
apply函数
apply函数和run相似,区别是run的返回值可以指定,apply的返回值不可指定,会自动返回调用的对象
val array = ArrayList<Int>()
val str = array.apply{
add(1)
add(2)
add(3)
}.toString()
println(str)