为了账号安全,请及时绑定邮箱和手机立即绑定

何时使用 @NotNull 和 @Nullable IntelliJ 注释?

何时使用 @NotNull 和 @Nullable IntelliJ 注释?

凤凰求蛊 2021-10-27 10:44:11
我刚开始使用那些 IntelliJ IDEA Java 注释,但我不明白什么时候应该使用它们,特别是因为 IDEA 大部分时间都能够推断它们。你们遵守某种规则吗?我不希望看到每个参数或字段都用它们注释,代码可能会变得一团糟。我知道这可以被认为是基于意见的,但我仍然想阅读答案。
查看完整描述

3 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

@Nullable注释帮助您检测:

可以返回 null 的方法调用。变量(字段、局部变量和参数),可以是null.

@NotNull注释是,实际上,一个明确的合同,宣布:

方法不应返回null变量(字段、局部变量和参数)不能保存null值。

例如,如果您创建一个方法,其中参数具有@NotNull注释,然后使用可能为 的参数调用此方法null,IntelliJ IDEA 将即时突出显示问题。

使用@Nullablejust 来声明您的变量或方法可以保存一个null值。


查看完整回答
反对 回复 2021-10-27
?
12345678_0001

TA贡献1802条经验 获得超5个赞

@Nullable@NotNull注解用于指示IDE的东西(参数,属性等)可以(或不能)null。通过这种方式,它可以帮助您检测可能不正确的代码。

这不是“必须遵循”的规则,而是帮助开发人员在使用 IDE 时编写更健壮且不易出错的代码的另一种工具

如果你独自编码,团队很小,你在一个小项目或任何类似的情况下工作......没有它你会觉得很舒服,那么不要使用它,因为代码确实变得冗长。这并不意味着这对之前的任何情况都没有用(它实际上也很有帮助)。

另一方面,如果您认为您需要一个额外的工具来帮助您针对不可为空的值检测可能失败的代码,或者,例如,您正在编写一个供第三方使用的 API 并希望使用它注释而不是assert代码块内的几个s ......然后去吧。

它是所有关于评估的优点缺点在哪里,你可以将这些注释,并决定这是否可以给你更多的实惠比“问题,”它可能会导致该项目。


查看完整回答
反对 回复 2021-10-27
  • 3 回答
  • 0 关注
  • 232 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信