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

执行结果

相关推荐
oort1231 分钟前
VLStream 全开源决策式 AI 视频平台 技术视角完整说明
大数据·开发语言·人工智能·经验分享·python·开源·音视频
Cloud_Shy6182 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第二章 Item 10 - 12)
c语言·开发语言·网络·人工智能·windows·python·编辑器
Xeon_CC3 分钟前
vs2026远程开发debian12容器的C++程序笔记
开发语言·c++·笔记
消失的旧时光-19434 分钟前
Kotlin 协程设计思想(四):launch、async、withContext 到底有什么区别?
java·kotlin·async·launch·withcontext·deferred
水无痕simon6 分钟前
9 C语言的基础练习
c语言·开发语言·算法
少司府8 分钟前
C++进阶:二叉搜索树
开发语言·数据结构·c++·二叉树·stl·二叉搜索树·tree
修行者对66610 分钟前
Kotlin学习笔记(1)
kotlin
Rust研习社11 分钟前
从 LaunchBadge 到 transact-rs:SQLx 社区迈出可持续治理的第一步
开发语言·后端·rust
程序大视界20 分钟前
【C++ 从基础到项目实战】C++(九):友元与设计模式初探——打破封装的艺术
开发语言·c++·cpp
__Witheart__21 分钟前
搭建编译 HW-T3568 安卓固件的环境
android