一、判空
1、isNullOrEmpty
val s1: String? = null
Log.i("TAG", "==>${s1.isNullOrEmpty()}")
// 注意:这里使用isNullOrEmpty不会出现空指针异常,代码可以正常运行并输出 true
跟下面TextUtils.isEmpty()效果一样
2、TextUtils.isEmpty()
java代码的判空用:TextUtils.isEmpty() 括号里面为null或者“”都为真
3、isEmpty
val s2: String=""
s2.isEmpty() // true
// 注意:这里使用isEmpty不会出现空指针异常,代码可以正常运行并输出 true
4、isBlank
val s3=" "
s3.isBlank()
// 注意:这里使用isBlank不会出现空指针异常,代码可以正常运行并输出 true
二、let
let 常配合判空符号 ? 进行使用
val str = readLine()?.let {
if(it.isNotBlank()){
println("get")
}else{
"name"
}
}
三、apply
helper?.apply {
setText(R.id.rcl_patient_tv_user_name, "${item?.nameAdd}")
setText(R.id.rcl_patient_tv_patientname_r, "${item?.drugName}")
setText(R.id.rcl_drug_tv_drugsspecs, "规格 ${item?.specifications}")
setText(R.id.rcl_tv_patient_packingSpec, "包装规格 ${item?.packingSpecifications}")
setText(R.id.rcl_tv_patient_ph, "批号 ${item?.batchNumber}")
setText(R.id.rcl_tv_rfid, "RFID ${item?.barCode}")
}
相当于java里面的写法:
if(helper!=null){
helper.setText(R.id.rcl_patient_tv_user_name, "${item?.nameAdd}")
helper.setText(R.id.rcl_patient_tv_patientname_r, "${item?.drugName}")
}