kotlin的常见空检查

Kotlin 复制代码
fun main() {
    var name: String? = null  // name字段可空
    println(name.toString()) // null
    //val str: String = name!!.toString() // !!为非空断言。可以将可空类型强转为非空类型。 这里报错: Exception in thread "main" java.lang.NullPointerException
    var str2 = name?.toString() // name为空则不做处理直接返回null
    println(str2.toString()) // null
    
    name = "9527"
    str2 = name?.toString()
    println(str2.toString()) // 9527
    
    name = null;
    var str3 = name?.toInt() ?: -1 // ?:为可空表达式提供默认值
    println(str3) // -1
}

运行:

ok. kotlin的空检查的语法感觉和TS的语法差不多。

相关推荐
子安柠3 分钟前
Go语言并发编程:协程与管道详解
开发语言·后端·golang
程序大视界7 分钟前
【Python系列课程】Python面向对象(下):封装、继承与多态
开发语言·python
Lumbrologist9 分钟前
【C++】零基础入门 · 第 12 节:模板与 STL 入门
开发语言·c++
天月风沙18 分钟前
基于机器视觉的实验室器件仓储系统设计——内蒙古自治区国家级大创工程存档
开发语言·python
24zhgjx-fuhao20 分钟前
虚链路的配置
开发语言·网络·php
techdashen1 小时前
Rust 中的小字符串:smol_str 与 smartstring 的对决
开发语言·后端·rust
devilnumber1 小时前
java自定义事件处理器极简版:「外卖点餐」场景
java·开发语言
小何code1 小时前
C语言【初阶】第1节,初识C语言
c语言·开发语言
代码小书生1 小时前
getpass,一个安全输入的 Python 库!
开发语言·python·安全
莫陌尛.1 小时前
Fuzzy C-Mean Clustering (FCM)
c语言·开发语言