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

执行结果

相关推荐
froginwe111 分钟前
Memcached CAS 命令详解
开发语言
龙之叶6 分钟前
Android 12:在 ActivityStarter 层拦截分享、搜索与 HTTP 外链
android·chrome·http
春栀怡铃声11 分钟前
【C++修仙录02】筑基篇:vector 使用
开发语言·c++·算法
彦为君12 分钟前
JavaSE-11-ByteBuffer(NIO核心组件)
java·开发语言·前端·数据库·后端·spring·nio
茉莉玫瑰花茶12 分钟前
LangGraph 持久化(Persistence)[ 2 ]
开发语言·python·ai·langgraph
Dxy123931021615 分钟前
`...` 展开运算符(Spread Operator)详解
开发语言·javascript
有味道的男人17 分钟前
AI 对接 1688 图搜接口|Open Claw 以图搜货实战
开发语言·python
牛奔18 分钟前
Android 开发通用解决方案:使用 ADB 彻底卸载已安装 App(解决版本降级安装失败问题)
android·adb
Kiling_070420 分钟前
面向对象和集合编程题 ( 二 )
java·开发语言·数据结构·算法
菜鸡儿齐21 分钟前
Future接口学习
java·服务器·开发语言