En este código.Cómo comprobar el valor nulo en java
public class Test {
public static void testFun(String str) {
if (str == null | str.length() == 0) {
System.out.println("String is empty");
} else {
System.out.println("String is not empty");
}
}
public static void main(String [] args) {
testFun(null);
}
}
Pasamos un valor nulo a la función testFun
. Compila bien, pero da un nullPointerException
en tiempo de ejecución.
Supongamos que el valor del argumento real que se pasa a testFun
se genera a partir de algún proceso. Supongamos que erróneamente un valor nulo es devuelto por ese proceso y se alimenta a testFun. Si tal es el caso, ¿cómo azadas valida que el valor pasado a la función sea nulo o no?
Una (extraña) solución puede ser asignando el parámetro formal a alguna variable dentro de la función y luego probándola. Pero si se pasan muchas variables a la función, eso puede volverse tedioso e inviable. Entonces, ¿cómo verificar los valores nulos en tal escenario?
Editar: Por error, escribí || en lugar de | en la condición if. Ahora se genera una excepción en tiempo de ejecución
favor ver la edición. – Shades88
¿Olvidaste recompilar? [No produce una 'NullPointerException' para mí] (http://ideone.com/pRrB3). – oldrinb