【第三阶段】kotlin中使用带let的安全调用

let常常和?.配合使用,如果前面的对象为null,let不执行,能够执行到let里面 对象一定不为null

1.不为null

kotlin 复制代码
fun main() {
   var name:String?="kotlin" //name是一个可空类型,发出广播,调用的地方必须补救措施
 var r = name?.let{
      //it==name,如果能执行到这个里面it一定不为null
      if(it.isBlank()){ //如果it=""打印
        "default" 
      }else{
          "$it"
      }
  }
 println(r)
}

执行结果

2.为" "

kotlin 复制代码
   var name:String?=" " //name是一个可空类型,发出广播,调用的地方必须补救措施
 var r = name?.let{
      //it==name,如果能执行到这个里面it一定不为null
      if(it.isBlank()){ //如果it=""打印
        "default" 
      }else{
          "$it"
      }
  }
 println(r)
}

执行结果

3.为null

kotlin 复制代码
fun main() {
   var name:String?=null //name是一个可空类型,发出广播,调用的地方必须补救措施
 var r = name?.let{
      //it==name,如果能执行到这个里面it一定不为null
      if(it.isBlank()){ //如果it=""打印
        "default" 
      }else{
          "$it"
      }
  }
 println(r)
}

执行结果

相关推荐
xindon12几秒前
go语言项目部署的makefile
开发语言·后端·golang
老毛肚1 分钟前
记一次逆向
开发语言·python
凯瑟琳.奥古斯特4 分钟前
力扣1002题C++解法详解
开发语言·c++·算法·leetcode·职场和发展
say_fall8 分钟前
Linux系统编程(十一):深入理解Linux进程地址空间
android·linux·运维
钟灵92110 分钟前
C++【模板初阶】
开发语言·c++·笔记·c#
码不停蹄的玄黓11 分钟前
旁路缓存(Cache-Aside,CA)
java·开发语言
程思扬13 分钟前
Android 大厂编码规范
android·网络·安全·开源·流程图
江屿风14 分钟前
【C++笔记】vector流食般投喂
开发语言·c++·笔记
星恒随风16 分钟前
Python 基础语法详解(3):顺序语句、条件语句和循环语句一篇讲清楚
开发语言·笔记·python·学习
CHHH_HHH16 分钟前
【C++】红黑树:比AVL树更实用的平衡二叉搜索树
开发语言·数据结构·c++·算法·stl