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

执行结果

相关推荐
白杆杆红伞伞2 小时前
Qt进程间通信
开发语言·qt
艾莉丝努力练剑2 小时前
确保多进程命名管道权限一致的方法
java·linux·运维·服务器·开发语言·网络·c++
2201_756206342 小时前
1111111
开发语言·python
一瓢西湖水2 小时前
CPU使用超过阈值分析
java·开发语言·jvm
特种加菲猫2 小时前
透过源码看本质:list 的模拟实现与核心原理
开发语言·c++
李日灐2 小时前
改造红黑树实现封装 map/set:感受C++ 标准容器的精妙设计与底层实现
开发语言·数据结构·c++·后端·算法·红黑树
故事和你912 小时前
sdut-程序设计基础Ⅰ-期末测试(重现)
大数据·开发语言·数据结构·c++·算法·蓝桥杯·图论
robotx2 小时前
安卓15开机动画BootAnimation启动源码简单分析
android
重庆兔巴哥2 小时前
如何在Dev-C++中使用MinGW-w64编译器?
linux·开发语言·c++
魔道不误砍柴功2 小时前
Java Function 高级使用技巧:从工程实战中来
java·开发语言·python