示例:
if (array.length < index) {
System.out.println(array[index]);
} // 数组索引始终超出界限
if (str == null) System.out.println("str is null");
System.out.println(str.trim());
// 最后一条语句可能会抛出 NPE
@NotNull
Integer square(@Nullable Integer input) {
// 违反方法约定
return input == null ? null : input * input;
}
检查行为可能由许多注解控制,例如为 null 性注解、@Contract
注解、@Range
注解等。
配置检查:
@Nullable
注解。 您还可以使用配置注解按钮配置为 null 性注解。null
字面量的调用点的方法形参。@Nullable
但始终返回非 null 值的方法。 在这种情况下,建议您将注解更改为 @NotNull
。assert
语句。 默认情况下,该选项被禁用,这意味着断言视为被执行(-ea 模式)。 如果启用该选项,断言将被完全忽略(-da 模式)。在 IntelliJ IDEA 2022.3 版本之前,此检查为“常量条件和异常”检查的一部分。 现在,它被拆分成两个检查:“常量值”和“为 null 性和数据流问题”。