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

相关推荐
“AI国潮设计-小江”8 小时前
《Python+SDXL实战:用ControlNet精准控制“英歌舞翻糖吐司”构图,附批量生成脚本》
开发语言·人工智能·python·prompt·aigc
程序喵大人8 小时前
【C++入门】编译链接模型 - 01 一个 C++ 程序是怎样变成可执行文件的
开发语言·c++·编译链接模型
sunshine22 girl9 小时前
Java学习七 Java 项目实战1-项目创建和主页面搭建
java·开发语言·学习
熊猫钓鱼>_>10 小时前
Kotlin Multiplatform for OpenHarmony 实战:为 KMPNotifier 实现 OpenHarmony 本地通知引擎
kotlin·ai编程·harmonyos·鸿蒙·openharmony·适配·kmp
菜鸟~noob23310 小时前
【电子战】第三季预告—波武器与电子系统强力毁伤
开发语言·数据库·matlab·电子战
惊讶的猫11 小时前
工具选对之后还不够:商城 Agent 的参数与权限治理
开发语言·python
cmpxr_11 小时前
【MicroPython】如何刷新ESP8266的固件
开发语言·micropython
三少爷的鞋11 小时前
AI 时代,我们都将成为通才型开发者:只懂 Android,已经不够了
android
搭贝11 小时前
上厕所的时间搭好一套系统:AI自动生成实测
开发语言·人工智能·低代码·ai·php·搭贝
智感子12 小时前
智能称重·数据上云:从仪表读数到可追溯的计量凭证
开发语言·php