Kotlin 的主要功能之一是 null 安全、
它在编译时干净利落地处理值,而不是在运行时撞到著名的值。这通过可为 null 性使应用程序更安全
声明和表达“值或无值”语义,而无需支付包装器的成本,例如 .
(Kotlin 允许使用具有可为 null 值的函数式结构。请参阅此 Kotlin null 安全综合指南。nullNullPointerExceptionOptional
尽管 Java 不允许在其类型系统中表达 null 安全,但 Spring 框架
通过在包中声明的对工具友好的 Comments 提供整个 Spring Framework API 的空安全性。
默认情况下,Kotlin 中使用的 Java API 中的类型被识别为平台类型。
对此,放宽了 null 检查。Kotlin 对 JSR-305 注释和 Spring 可为 null 性注释为 Kotlin 开发人员的整个 Spring Framework API 提供了空安全性。
具有在编译时处理 -相关问题的优势。org.springframework.langnull
| Reactor 或 Spring Data 等库提供了 null 安全的 API 来利用此功能。 | 
| Reactor 或 Spring Data 等库提供了 null 安全的 API 来利用此功能。 | 
您可以通过添加编译器标志来配置 JSR-305 检查
选项:。-Xjsr305-Xjsr305={strict|warn|ignore}
对于 kotlin 版本 1.1+,默认行为与 .
该值需要考虑 Spring Framework API null-safety
在 Kotlin 类型中,但应在知道 Spring
API 可为 null 性声明甚至可能在次要版本之间演变,并且可能会进行更多检查
在将来添加。-Xjsr305=warnstrict
| 尚不支持泛型类型参数、varargs 和数组元素可为 null 性。 但应该在即将发布的版本中。有关最新信息,请参阅此讨论。 | 
| 尚不支持泛型类型参数、varargs 和数组元素可为 null 性。 但应该在即将发布的版本中。有关最新信息,请参阅此讨论。 |