Suprimir potencial NullPointerException en Android Studio

Esta:

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

Produce la advertencia:

 Array access 'mItems[position]' may produce NullPointerException 

Quiero suprimir esta advertencia (sé que getItem() no se llamará si mItems es nulo).

He intentado usar las siguientes anotaciones:

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

Así como con la notación de //noinspection , pero no funcionan.

El uso de @SuppressWarnings({"all"}) funciona, pero obviamente no es lo que estoy buscando.

Android Studio no ofrece ninguna opción de supresión cuando pulsé alt + enter , sólo las opciones para agregar un cheque nulo (inútil).

Esto funciona para mí, pero no estoy seguro de por qué AS querría usar condiciones constantes como el supresor. Creo que tiene algo que ver con el skip null check, ya que es una condición constante (es decir, siempre no será nulo).

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

Si desea evitar que Android Studio le moleste con esas advertencias mientras las mantiene en el compilador, vaya a Ajustes -> Editor -> Inspecciones -> Condiciones y Excepciones Constantes y desactive la casilla.

Si en su lugar desea quitarlo completamente, utilice las Advertencias de supresión adecuadas como sugieren las otras respuestas:

 @SuppressWarnings("ConstantConditions") 

Para mí @SuppressWarnings no funcionó. Acabo de agregar afirmación afirmación antes de las advertencias para hacer desaparecer.

Su código debería tener este aspecto:

 @Nullable Item[] mItems; public Item getItem(int position) { assert mItems != null; return mItems[position]; } 

Sé que usted dijo que está seguro de que getItem() no será llamado si mItems es null . Sin embargo, el inspector no tendrá en cuenta que ya comprobar antes de llamar a la función, de ahí la advertencia.

O simplemente puede dejarlo puesto que mItems = null nunca sucederá. Pero su código se verá un poco desordenado, y para mí es molesto.

  • Las alarmas set () y setExact () de Android disparan a intervalos incorrectos
  • Cómo colocar la imagen de marca de pin en una imagen en android?
  • Pasar una matriz de Mats a código nativo
  • NullPointerException al iniciar sesión con Facebook SDK y ParseFacebookUtils
  • Procesamiento incorrecto de Android Spinner si se genera mediante programación en android 2.0
  • Android Studio no puede resolver las importaciones de fragmentActivity y ViewPager
  • Rendimiento en Android Juego
  • ¿Cómo puedo incluir MIMETYPE_TEXT_PLAIN en la creación de un objeto ClipData?
  • Java.util.zip.ZipException: entrada duplicada: cómo superar
  • Cargador universal de imágenes de Android que muestra parcialmente las imágenes
  • Bloque sincronizado: son variables "dentro" de otras variables actualizadas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.