1.takeUnless和takeif功能是相反的
username.takeif{true/false} true:返回username本身 false:返回null
username.takeUnless{true/false} false:返回username本身 true:返回null
package Stage3
class Manager{
private var info:String?=null
fun getInfo()=info
fun setInfo(){
this.info=info
}
}
fun main() {
//username.takeUnless{true/false} false:返回username本身 true:返回null
//takeUnless一般配合it.isNullOrBlank 一起使用 可以验证字符串有没有初始化等功能 manager.getInfo().takeUnless { it.isNullOrBlank() }==true,返回null 执行?:后面部分
val manager=Manager()
var r =manager.getInfo().takeUnless { it.isNullOrBlank() }?:"未初始化"
println(r)
}
执行结果