gpt4 book ai didi

java - 非空局部变量

转载 作者:行者123 更新时间:2023-11-30 05:18:48 26 4
gpt4 key购买 nike

有没有办法在Java中使用@NonNull作为局部变量?我将 Spring 与 package-info.java 中注释的 @NonNullApi@NonNullFields 一起使用,但我似乎没有收到相同的警告我的 IDE 处理局部变量,就像处理字段、方法和参数一样。

最佳答案

不是真的。您可以将变量设为final。这将产生不允许为 null 的效果,但这是一个编译时功能,而不是在运行时验证参数,因此它们是两个不同的概念。 Kotlin 具有可空 concept ,但在 Java 中只有真正的 Optional,这是不一样的。

如果您想在运行时向函数和/或变量添加请求参数验证,这是面向方面编程的经典示例,在 Java 中您需要依赖某种特殊的魔法(例如 Spring)来做到这一点(或 AspectJ 等),但在幕后将使用简单的设计模式,例如代理,或者其他任何东西,有很多方法可以给猫剥皮。

注释归根结底只是元数据,并且依赖于其他东西来适本地读取和解释它们,如果您使用 Spring 注释,它可能需要在方法上使用Spring bean 中的/field。

关于java - 非空局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59884861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com