Excepción de puntero nulo en Java: implementación y ejemplos



Este artículo le proporcionará un conocimiento detallado y completo de cómo funciona la excepción de puntero nulo en Java con muchos ejemplos.

Se necesitan excepciones para el buen funcionamiento del código y permitir que los programadores sepan el error a resolver. En este artículo, nos centraremos en la excepción de puntero nulo en Java en el siguiente orden:

¿Qué es la excepción de puntero nulo en Java?





La excepción de puntero nulo en Java es una excepción de tiempo de ejecución. En el mundo de Java, se asigna un valor nulo especial a una referencia de objeto. La excepción de puntero nulo se introduce cuando un programa intenta utilizar una referencia de objeto, que tiene el valor nulo. Que puede ser:

cómo usar conjuntos en java
  • Para invocar un determinado método desde un objeto nulo.
  • Para acceder o modificar el campo de un objeto nulo.
  • Considerando la longitud de nulo, como si fuera una matriz.
  • Al acceder o modificar las ranuras de un objeto nulo.
  • Lanzar nulo como un valor arrojable.
  • Intentando sincronizar sobre un objeto nulo.

¿Por qué necesitamos el valor nulo?



Null es un valor único que se utiliza en Java. Null se utiliza para mostrar que no se asigna ningún valor a una variable de referencia. La aplicación principal de null radica en implementar estructuras de datos como listas y árboles vinculados. Algunas otras aplicaciones incluyen patrones de objetos nulos y patrones singleton. Un patrón singleton especifica que solo se puede iniciar una instancia de una clase y tiene como objetivo proporcionar un punto global de acceso al objeto.

La mejor y más sencilla forma de crear al menos una instancia de una clase es declarar todos los constructores como privados. Luego, crean un método público que devuelve la instancia única de la clase.

// Para usar la función randomUUID. import java.util.UUID import java.io. * class Singleton {// Aquí inicializamos los valores de single e ID a nulo. private static Singleton single = null private String ID = null private Singleton () {/ * Hágalo privado, para evitar la creación de nuevas instancias de la clase Singleton. * / // Crear un ID ID aleatorio = UUID.randomUUID (). ToString ()} public static Singleton getInstance () {if (single == null) single = new Singleton () return single} public String getID () {return this.ID}} // Código del controlador public class TestSingleton {public static void main (String [] args) {Singleton s = Singleton.getInstance () System.out.println (s.getID ())}} //

Salida:



null-pointer

El ejemplo anterior es una instancia estática de la clase singleton. La instancia se inicializa como máximo una vez dentro del método Singleton get Instance.

convertir de doble a int java

¿Cómo evitar la excepción de puntero nulo en Java?

Para evitar la excepción de puntero nulo en Java, debemos asegurarnos de que todos los objetos se inicialicen correctamente antes de usarlos. Cuando se declara una variable de referencia, debemos verificar que un objeto no sea nulo y también Antes de solicitar métodos o campos a los objetos. Los siguientes son algunos problemas con sus correspondientes soluciones para superar ese problema.

// programa para demostrar la invocación de un método // en causas nulas NullPointerException import java.io. * class GFG {public static void main (String [] args) {// Inicializando la variable String con valor nulo String ptr = null // Comprobando si ptr. Es igual a nulo o funciona bien. try {// Esta línea de código arroja NullPointerException // porque ptr es nulo if (ptr.equals ('gfg')) System.out.print ('Same') else System.out.print ('Not Same')} catch (NullPointerException e) {System.out.print ('NullPointerException capturada')}}}

Salida:

Controlar los argumentos de un método

Recuerde siempre que antes de ejecutar el cuerpo de un nuevo método, debemos asegurarnos de sus argumentos para valores nulos y continuar con la ejecución del método. Si y solo cuando los argumentos se verifiquen correctamente. De lo contrario, lanzará una 'IllegalArgumentException' y llamará al método de llamada de que algo está mal con los argumentos pasados.

// programa para comprobar si los parámetros son nulos o no antes // de usarlos. import java.io. * class GFG {public static void main (String [] args) {// String s establece una cadena vacía y llama a getLength () String s = '' try {System.out.println (getLength (s) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException atrapado')} // String s establecido en un valor y llamando a getLength () s = 'GeeksforGeeks' try {System.out.println (getLength (s) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException atrapado')} // Establecer s como nulo y llamar a getLength () s = null try {System.out.println (getLength (s))} catch ( IllegalArgumentException e) {System.out.println ('IllegalArgumentException atrapado')}} // Función para devolver la longitud de la cadena s. Lanza // IllegalArgumentException si s es nulo. public static int getLength (String s) {if (s == null) throw new IllegalArgumentException ('El argumento no puede ser nulo') return s.length ()}}

Salida:

Uso de operador ternario

Se utiliza un operador ternario para evitar NullPointerException. Se comprueba la expresión booleana y si la expresión es verdadera, se devuelve el valor1; de lo contrario, se devuelve el valor2. Se puede usar el operador ternario para manejar punteros nulos: La imagen de la derecha es la salida correspondiente.

// Un programa Java para demostrar que podemos usar // un operador ternario para evitar NullPointerException. import java.io. * class GFG {public static void main (String [] args) {// Inicializando la variable String con valor nulo String str = null String message = (str == null)? '': str.substring (0,5) System.out.println (mensaje) str = 'Edureka_Java_Blog' message = (str == null)? '': str.substring (0,5) System.out.println (mensaje)}}

Salida:

Edurek

Con esto, llegamos al final de la excepción de puntero nulo en Java. Espero que tengas una idea de la excepción de puntero nulo.

subcadena en ejemplos de servidor SQL

Revisar la por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de formación y certificación Java J2EE y SOA de Edureka está diseñado para estudiantes y profesionales que desean ser desarrolladores de Java. El curso está diseñado para darle una ventaja en la programación de Java y capacitarlo para los conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog de “Excepción de puntero nulo en Java” y nos comunicaremos con usted lo antes posible.