validar - Comprobando una cadena vacía en Java
validar string null java (6)
El código anterior solo se ejecuta si la cadena está vacía, ¿es ese el comportamiento deseado? También declarar a str como nuevo justo antes del bucle casi garantiza que estará vacío.
Si está tratando de asignar los valores de los cuadros de texto, necesitará tener esas asignaciones en algún lugar antes del bucle.
No sé qué es lo que está mal con el siguiente código ... Recibo una entrada de un cuadro de texto y la coloco en una cadena. Si el cuadro de texto está vacío, devolverá una cadena vacía. En el siguiente código
String[] str = new String[9];
for(int i=0;i<9;i++){
if(str[i].equals("")){
System.out.println("set " + cmds[i] + " " + str[i]);
WriteThread.sendCommand("set " + cmds[i] + " " + str[i] + "/n", false);
}
}
En el código anterior, str[i]
almacena el texto de entrada de los cuadros de texto y estoy intentando verificar si algún elemento de la matriz está vacío. También probé con str[i] == ""
y str[i] == null
pero no str[i] == null
suerte. La declaración dentro del bloque if, si estoy imprimiendo la cadena str[i]
, no muestra nada que signifique que está vacía.
¿Estoy haciendo algo de la manera equivocada?
En realidad traté de ejecutar su fragmento de código y obtuve una NullPointerException en su condicional
str [i] .equals ("")
str [i] == null funcionó para mí. ¿Está seguro de poner el código correcto en su pregunta? Parece extraño estar probando una cadena vacía de una matriz vacía que acabas de inicializar.
Puedes usar Apache Commons Lang para verificar una cadena:
if (StringUtils.isBlank(str[i]) {
...
}
StringUtils.isBlank
está verificando si el String es null
o está vacío (es decir, si es igual a ""
cuando se eliminan todos los caracteres en blanco).
Tu podrías intentar :
if (str[i] == null || str[i].trim().equals("")){
// your code
}
Una solución muy simple puede ser así.
if(str[] != null && !str[].equals(""))
yo recomendaria
if (str[i] == null || str[i].trim().length==0){
// your code
}
o Java 6 en adelante
if (str[i] == null || str[i].trim().isEmpty()){
// your code
}
En lugar de usar equals () porque el método equals () es una exageración para probar una cadena vacía .