java nullable_@Nullable和@NotNull注释的使用

java nullable_@Nullable和@NotNull注释的使用本节介绍在IntelliJIDEA中引入的@Nullable和@NotNull注释,IntelliJIDEA引用这两个注释来通过恒定条件和异常来捕获NullPointerException(NPE)以及@Nullable问题检查。这些注释旨在帮助您在整个方法层次结构中查看合同,以避免出现NPE。此外,IntelliJIDEA为他们提供了另一个好处:代码检查机制通知您这些…

本节介绍在 IntelliJ IDEA 中引入的 @Nullable 和 @NotNull 注释,IntelliJ IDEA 引用这两个注释来通过恒定条件和异常来捕获 NullPointerException(NPE)以及@Nullable 问题检查。

这些注释旨在帮助您在整个方法层次结构中查看合同,以避免出现 NPE。此外,IntelliJ IDEA 为他们提供了另一个好处:代码检查机制通知您这些合同在注释方法的地方的差异,并在某些情况下提供自动化解决方案。

两个注释 – @Nullable 和 @NotNull – 处理方法调用和字段取消引用外部方法。

IntelliJ IDEA @Nullable 注释

@Nullable 注释提醒您必须在以下情况下引入 NPE 检查:

调用可以返回 null 的方法。

取消引用可以为 null 的变量 (字段、局部变量和参数)。

5eb85699e20a117a6b00ced3323f4385.png

IntelliJ IDEA @NotNull 注释

实际上,@NotNull 注释是明确的声明了以下内容的协定:

一个方法不应该返回 null。

变量(如字段、局部变量和参数)不能保留 null 值。

是否如果违反了这些协定,IntelliJ IDEA 将警告您。

@Nullable 和 @NotNull 注释正式的语义

用 @Nullable 声明注释的元素 null 值对于返回 (方法)、传递给 (参数) 和保持 (对于局部变量和字段) 是完全有效的。

用 @NotNull 声明注释的元素不允许返回 null 值 (对于方法),传递给(对于参数)和保持(对于局部变量和字段)。

当使用带注释的声明或参数来重写/实现方法时,@Nullable 和 @NotNull 之间存在一个协方差-逆变关系。

使用注释声明重写/实现方法:父方法的 @NotNull 注释需要针对子类方法的 @NotNull 注释。使用父方法中的 @Nullable 注释的方法在子类方法中可以具有@Nullable 或 @NotNull 注释。

使用带注释参数的重写/实现方法:父方法中的参数 @Nullable 注释需要针对子类方法参数的 @Nullable 注释。父方法中参数的 @NotNull 注释的方法对于子类方法参数可以具有 @Nullable 或 @NotNull 注释(或不包含它们)。

怎么生成@Nullable和NotNull?

在Android Studio中已经帮我们导入了相关的注释包,只要点击Android studio中的Infer Nullity变可以生成相应的注释。

84150ad3a59e1dc6cf7ab0b8c760a261.png

8a6d079c7818b93a7e615f7722309dbf.png

今天的文章java nullable_@Nullable和@NotNull注释的使用分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9861.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注