1.With
val result = with(obj){//obj对象的上下文
//最后一行代码作为返回值
}
总结:with里面带对象,对象作为上下文,最后一行返回值。
案例:
val list = listOf("car","plane","bus","train")
val obj = StringBuilder()
val result1 = with(obj) {
append("交通工具如下:/n")
for (element in list) {
append(element).append(",")
if (element == list.last()) {
append(element).append(".")
}
}
}
println(obj)
2.run
val result1 = obj.run {//obj对象的上下文
//最后一行代码作为返回值
}
总结:对象调用run,对象作为上下文,最后一行返回值。
3.apply
val result2 = obj.apply {//obj对象的上下文
//最后一行代码作为返回值
}