A continuación un pequeño tip para evitar un potencial NullPointerException, una de las excepciones más comunes al momento de desarrollar en Java, además una de las más difíciles de rastrear.
Imaginemos que tenemos una clase Llama, tiene una función que devuelve un String llamada saySomething(), ahora supongamos que queremos saber si la llama dice «Ola k ase?»…
A manera de ejercicio mental… ¿Cómo desarrollarías la comparación?
El modo más común a primera vista sería:
Llama.saySomething().equals(«Ola k ase?»)
Ejemplo:
if (Llama.saySomething().equals("Ola k ase?")) { System.out.println("La llama está saludando"); } else { System.out.println("La llama no está saludando"); }
Si la clase Llama es nula o Llama.saySomething() devuelve null, se generará un NullPointerException… Pero con un pequeño cambio podemos evitar dicha excepción, de la siguiente manera:
if ("Ola k ase?".equals(Llama.saySomething())) { System.out.println("La llama está saludando"); } else { System.out.println("La llama no está saludando"); }
En este caso de prueba sí Llama.saySomething() es null no se generará una excepción sino que simplemente se ejecuta el código en el else.
No hay comentarios.:
Publicar un comentario