【第三阶段】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)
}

执行结果

相关推荐
martian665几秒前
麒麟系统下Tomcat部署Java Web程序(WAR包)及全链路问题排查指南
开发语言·tomcat·系统安全
ai.Neo几秒前
牛客网NC22012:判断闰年问题详解
开发语言·c++·算法
好吃的肘子7 分钟前
ElasticSearch进阶
大数据·开发语言·分布式·算法·elasticsearch·kafka·jenkins
NaclarbCSDN13 分钟前
Java集合框架
java·开发语言·前端
xiaohanbao0918 分钟前
day26 Python 自定义函数
开发语言·python·学习·机器学习·信息可视化·numpy
jie1889457586620 分钟前
c++,windows,多线程编程详细介绍
开发语言·c++
破晓的历程21 分钟前
Qt file文件操作详解
开发语言·qt
珹洺34 分钟前
C++从入门到实战(十五)String(上)介绍STL与String的关系,为什么有string类,String有什么用
开发语言·c++·stl
熬夜苦读学习35 分钟前
Linux线程控制
linux·运维·服务器·开发语言·后端
androidwork38 分钟前
用 Kotlin 脚本(KTS)重塑 Android 工程效能:2000 字终极实践指南
android·开发语言·kotlin