java - 抑制 Android Studio 中潜在的 NullPointerException

标签 java android android-studio intellij-idea

这个:

@Nullable
Item[] mItems;

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

产生警告:

Array access 'mItems[position]' may produce NullPointerException

我想取消这个警告(我知道如果 mItems 为空,则不会调用 getItem()

我尝试过使用以下注释:

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

以及 //noinspection 表示法,但它们都不起作用。

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

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

最佳答案

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

@Nullable
Item[] mItems;

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

关于java - 抑制 Android Studio 中潜在的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31931812/

相关文章:

java - 在升序数组中对数组进行排序

java - Android 在每次方向改变时都会创建额外的 ListFragment

java - HashSet 中的额外逗号

android - Android Jetpack Compose 中 LinearLayout 的替代品是什么?

java - 如何在 Android Wear 上调整下巴布局?

android - 尽管正确设置了环境变量,但 Android Studio 中“未找到 SDK 位置”

java - java中的向下转型+调用带有可变参数的方法

java - 将 Android 客户端连接到 NodeJS 中的套接字服务器时出错

android - 将 Tesseract 和 Opencv 添加到 Android.mk (Android Studio)

android - App模块在android studio中消失了