知识卡片

Kotlin可空类型系统设计

专业/工作 · 67

内容

Kotlin在类型后加问号区分可空类型与非空类型,把空值处理从运行时异常提前搬到编译期检查。安全调用操作符?.让链式调用遇到null时提前返回null而非抛异常;Elvis操作符?:为空表达式提供兜底默认值;!!操作符则是开发者显式声明”确信这里非空”、主动放弃编译期保护并重新引入运行时异常的风险。三者共同的设计取舍是:把”要不要判空”从编码习惯变成语法层面必须显式回答的问题。

参考来源

《Kotlin开发快速入门与实战》第2章《Kotlin编程基础》