apply和with的不同
① apply接收一个实例作为接收者,同时要求一个实例作为参数传递。
② apply返回接收者,with返回其块内最后一个表达式的结果。
通常情况下,当你需要对一个对象某些事情并返回时,可以使用apply。而当你需要在一个对象上执行一些操作并返回一些可以使用的其他对象时,你可以使用with。
apply示例代码:
fun getUser():User{
return User().apply{
name="andorid coder"
age=25
}
}
with示例代码:
fun getPersonFromUser(user:User):Person{
return with(user){
Person(name,user)
}
}