空安全
Kotlin 的一个关键特性是空安全,它在编译时而非运行时处理 null 值,从而避免了臭名昭著的 NullPointerException。通过可空性声明和表达“有值或无值”语义,它使应用程序更安全,而无需付出诸如 Optional 等包装类的成本。Kotlin 允许将函数式构造与可空值一起使用。请参阅这篇Kotlin 空安全综合指南。
尽管 Java 不允许在其类型系统中表达空安全,但 Spring Framework 通过方便工具使用的 JSpecify 注解,提供了整个 Spring Framework API 的空安全。
自 Kotlin 2.1 起,Kotlin 强制严格处理 org.jspecify.annotations 包中的可空性注解。