抑制 Android Studio 中潜在的 NullPointerException

这:

@Nullable
Item[] mItems;

public Item getItem(int position) {
    return mItems[position];
}

产生警告:

Array access 'mItems[position]' may produce NullPointerException

我想禁止此警告(我知道如果为空,则不会调用)。getItem()mItems

我尝试使用以下注释:

  • @SuppressWarnings({"NullableProblems"})
  • @SuppressWarnings({"null"})

以及符号,但它们都不起作用。//noinspection

使用作品,但这显然不是我想要的。@SuppressWarnings({"all"})

当我点击+时,Android Studio不提供任何抑制选项,只是添加(无用的)空检查的选项。altenter


答案 1

这对我有用,但不确定为什么AS想要使用恒定条件作为抑制器。我认为它与跳过空检查有关,因为它是一个常量条件(即,它永远不会是空的)。

@Nullable
Item[] mItems;

@SuppressWarnings("ConstantConditions")
public Item getItem(int position) {
    return mItems[position];
}

答案 2

如果您想防止Android Studio在将这些警告保留在编译器中时打扰您,只需转到设置 - >编辑器 - >检查 - >常量条件和异常“并取消选中它。

相反,如果你想完全删除它,那么按照其他答案的建议使用正确的抑制警告:

@SuppressWarnings("ConstantConditions")

推荐