English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

¿Cuándo lanza la excepción NullPointerException el array de Java?

En Java, cada tipo tiene un valor predeterminado, cuando no inicializa las variables de instancia de la clase, el compilador de Java usará estos valores para inicializarlas por usted. Null es el valor predeterminado del tipo de objeto, también puede asignar manualmente null a un objeto en el método.

Object obj = null;

Pero, no puede usar un objeto con valor null o (si se usa un valor null en lugar de un objeto) el objeto, lo que generará NullPointerException.

Ejemplo

public class Demo {
   String name = "Krishna";
   int age = 25;
   public static void main(String args[]) {
      Demo obj = null;
      System.out.println(obj.age);
      System.out.println(obj.name);
   }
}

Excepción en tiempo de ejecución

Exception en thread "main" java.lang.NullPointerException
   en july_set3.Demo.main(Demo.java:11)

Según la documentación de Java, si intenta ejecutar NullPointerException-

  • 使用空对象调用a方法(实例)。

  • 访问,修改,打印空值(对象)的字段。

  • 尝试访问(打印/在语句中使用)空值的长度。

  • 抛出一个空值。

  • 访问或修改具有空值的元素/插槽。

如果是数组,则为NullPointerException

在Java数组中,引用类型就像类一样,因此,发生NullPointerException的场景几乎相似。使用数组时,发生NullPointerException-

  • 如果尝试访问尚未初始化的数组的元素(为null)。

public class Demo {
   public static void main(String args[]) {
      int myArray[] = null;
      System.out.println(myArray[5
   }
}

Excepción en tiempo de ejecución

Exception en thread "main" java.lang.NullPointerException
   en july_set3.Demo.main(Demo.java:6)
  • Si intenta obtener la longitud de un array no inicializado (es null).

public class Demo {
   public static void main(String args[]) {
      int myArray[] = null;
      System.out.println(myArray.length);
   }
}

Excepción en tiempo de ejecución

Exception en thread "main" java.lang.NullPointerException
   en july_set3.Demo.main(Demo.java:6)
  • Si intenta llamar a cualquier método en un array no inicializado (es null).

public class Demo {
   public static void main(String args[]) {
      int myArray[] = null;
      System.out.println(myArray.toString());
   }
}

Excepción en tiempo de ejecución

Exception en thread "main" java.lang.NullPointerException
   en july_set3.Demo.main(Demo.java:6)