java何时使用@NotNull和@Nullable IntelliJ注释?
我刚开始使用那些IntellijIDEA Java注释,但我不明白什么时候应该使用它们,特别是因为IDEA在大多数情况下都能够推断它们
你们遵守什么规则吗?我不希望看到每个参数或字段都用它们注释,代码可能会变得一团糟
我知道这可以被认为是基于观点的,但我还是想看看答案
你可以在下面搜索框中键入要查询的问题!
我刚开始使用那些IntellijIDEA Java注释,但我不明白什么时候应该使用它们,特别是因为IDEA在大多数情况下都能够推断它们
你们遵守什么规则吗?我不希望看到每个参数或字段都用它们注释,代码可能会变得一团糟
我知道这可以被认为是基于观点的,但我还是想看看答案
# 1 楼答案
在公共API上使用这些注释可能是最有用的,因为IntelliJ IDEA无法自动推断这些注释。换句话说,就是与其他开发人员进行沟通。因此,公共接口中公共方法的参数和返回类型肯定是
@Nullable
/@NotNull
注释的候选对象# 2 楼答案
例如,如果您创建一个方法,其中一个参数具有
@NotNull
注释,然后使用一个可能是null
的参数调用此方法,IntelliJ IDEA将动态地突出显示问题使用
@Nullable
仅声明变量或方法可以保存null
值# 3 楼答案
^{} and ^{} 注释用于指示IDE某些内容(参数、属性等)可以(或不能)是
null
。这样可以帮助您检测可能不正确的代码这不是一个“必须遵循”的规则,而是另一个工具,可以帮助开发人员在使用IDE时编写更健壮、更不容易出错的代码
如果你是独自编码,团队规模很小,你在一个小项目或任何类似的情况下工作。。。如果没有它,您会感觉很舒服,然后不要使用它,因为代码确实会变得有些冗长。这并不意味着这对之前的任何情况都没有用处(实际上也可能非常有用)
另一方面,如果您认为需要一个额外的工具来帮助您根据不可为“null”的值检测可能失败的代码,或者,例如,您正在编写一个API供第三方使用,并且希望使用此注释而不是代码块中的几个
assert
。。。那就去做吧这一切都是关于在项目中评估优点和缺点,您可以在项目中应用这些注释,并决定这是否会给您带来比它可能导致的“问题”更多的好处