让 Java 为可选返回类型推断 @NotNull

2024-02-08

Using OptionalJava 中的 s 不能防止 NPE,因为值仍然可以null:

Optional<String> myMethod() {
    return null;
}

至少在运行时防止这种情况的一种方法是使用@NotNull注释。 (在 Java 中编译时不可能,因为它没有非空引用,这与 Swift 和 Kotlin 等更复杂的语言不同)。

Using @NotNull时会立即崩溃null被检测到,从而防止null遍历程序,更容易查明错误源。它最好与单元测试结合起来,以使其能够抵御因重构而造成的破坏。

据我所知,使用总是有意义的@NotNull for Optional返回值和参数。

现在问题是: 是否有可能让 Java 推断@NotNull自动为Optional返回值和参数? IE。我不必为每次使用都编写它,而是通过设置一些构建设置或类似的设置来实现这种行为?


可选并非旨在仅保留非空值。它也可能包含空值。所以你的建议是反对Optional的设计的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

让 Java 为可选返回类型推断 @NotNull 的相关文章

随机推荐