JSRUN 用代码说话

@Nullable和@NotNull注释的使用

编辑教程

@Nullable和@NotNull注释的使用

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

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

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

IntelliJ IDEA @Nullable 注释

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

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

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变可以生成相应的注释。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟