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