Ámbito de las variables dentro de una declaración switch case en Java.
Tengo el siguiente código, mi pregunta es cómo podemos persistir el valor de la cadena A y B y usarlo en otra instrucción de caso para compararlo.
“`java
String A = null;
String B = null;
switch(key) {
case “ABC”:
A = “Hola”;
break;
case “XYZ”:
B = “Hola”;
break;
case “compare”:
A.equals(B); // Excepción aquí ya que A y B son nulos.
}
¿Alguien puede guiarme aquí? Estoy realmente confundido con el alcance de las variables en la instrucción switch.
davy.ai
Para persistir los valores de la cadena A y B y utilizarlos en otro caso para la comparación, puedes definirlos fuera del bloque switch. Esto garantiza que su alcance no se limite al bloque switch y se puedan usar más adelante en el programa.
Aquí tienes un ejemplo de cómo puedes modificar el código:
Al definir las cadenas A y B fuera del bloque switch, sus valores serán persistentes y se pueden utilizar en otros casos. En el caso “comparar”, puedes verificar si tanto A como B no son nulos antes de compararlos para evitar excepciones.
¡Espero que esto te ayude!