空值安全性(Null-safety)
Kotlin 的一个关键特性是 空值安全性(null-safety),它能够在编译时就妥善处理 null 值,而不会在运行时遇到著名的 NullPointerException。通过空值声明以及表达“有值或无值”的语义,这种特性使得应用程序更加安全,而且无需使用诸如 Optional 之类的包装器。Kotlin 允许对可为空的值使用函数式构造。可以参考这份关于 Kotlin 空值安全性的 全面指南。
尽管Java的类型系统不允许表达空值安全性,但Spring框架通过易于使用的JSpecify注解提供了整个Spring框架API的空值安全性。
从Kotlin 2.1开始,Kotlin开始严格执行org.jspecify.annotations包中的空值注解处理规则。