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的语法差不多。

相关推荐
老前端的功夫12 分钟前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_4352879213 分钟前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
dvjr cloi19 分钟前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
止语Lab25 分钟前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang
yaoxin52112339 分钟前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
小短腿的代码世界43 分钟前
Qt日志系统深度解析:从qDebug到企业级日志框架
开发语言·qt
REDcker1 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
jinanwuhuaguo3 小时前
(第二十七篇)OpenClaw四月的演化风暴:OpenClaw 2026年4月全版本更新的文明级解读
大数据·人工智能·架构·kotlin·openclaw
随遇丿而安3 小时前
第2周:`EditText` 不只是输入框,它是 Android 输入体验的第一道门
android
我命由我123453 小时前
Kotlin 开发 - lateinit 关键字
android·java·开发语言·kotlin·android studio·android-studio·android runtime