Validar
Al trabajar con String, es común necesitar validaciones antes de usar el texto. Esto evita errores y asegura que el programa trabaje con datos en un formato esperado.
Las validaciones más habituales se relacionan con tres casos distintos:
null: no existe un valor asociado (no hay referencia)."": existe un texto, pero está vacío." ": existe un texto, pero contiene solo espacios.
Validación de null
Sección titulada «Validación de null»Entendiendo que null significa ausencia de referencia, una variable no apunta a ningún texto. En este caso no existe un String sobre el cual trabajar, por lo que intentar usar métodos de String produce un error.
String curso = null;boolean esNulo = (curso == null);System.out.println("Es nulo: " + esNulo); // trueSi se intenta invocar un método sobre curso, ocurre un NullPointerException:
System.out.println(curso.toUpperCase()); // Lanza NullPointerExceptionPor lo tanto, se valida antes de usar:
if (curso != null) { System.out.println(curso.toUpperCase());}Validación de String Vacío
Sección titulada «Validación de String Vacío»Un String vacío ("") significa que sí existe un texto, pero su contenido tiene longitud 0. En otras palabras, no está ausente: simplemente no tiene caracteres.
Para validar esto se puede usar length() o isEmpty().
String curso = "";boolean esVacio = (curso.length() == 0);boolean esVacio2 = curso.isEmpty();
System.out.println("Es vacío: " + esVacio); // trueSystem.out.println("Es vacío 2: " + esVacio2); // trueDiferencia entre
nully Vacío: Mientrás quenullrepresenta ausencia de texto (no hay nada a lo que referirse),""representa un texto existente pero sin caracteres. Por eso, sobre""sí se pueden usar métodos deStringsin provocarNullPointerException.
Validación de Espacios en Blanco
Sección titulada «Validación de Espacios en Blanco»Un String puede contener solo espacios en blanco. Esto significa que no está vacío, pero tampoco contiene caracteres reales que aporten información (por ejemplo, solo espacios, tabulaciones o saltos de línea).
Para detectar esto existe isBlank().
String curso = " ";boolean esBlanco = curso.isBlank();System.out.println("Es blanco: " + esBlanco); // trueNota:
isBlank()es útil cuando se quiere asegurar que el texto contenga caracteres distintos de espacios.