eliminando el valor nulo en un método toString
Estoy tratando de resolver esta pregunta, no se me permite ver el resto del código porque es una pregunta de un examen antiguo. Básicamente, tengo que crear un método toString para imprimir el nombre, segundo nombre y apellido. Aquí está el problema, mi método toString funciona correctamente hasta que el programa de prueba arroja un valor nulo en uno de los espacios (nombre, segundo nombre o apellido). Mi código debería poder reconocer este valor nulo y omitirlo. ¿Cómo puedo solucionarlo? Este es mi código a continuación.
public class Person {
// No cambiar nada en la siguiente línea
String firstName, middleName, lastName;
public String toString() {
String result = "";
if (firstName != null) {
result += firstName + " ";
}
if (middleName != null) {
result += middleName + " ";
}
if (lastName != null) {
result += lastName;
}
return result;
}
}
Salida:
Esperado: John Fitzgerald Kennedy
Obtenido: John Fitzgerald Kennedy
Esperado: Alan Turing
Obtenido: Alan null Turing
davy.ai
Para solucionar el problema con los valores nulos, puedes agregar una declaración if para verificar si cada campo es nulo antes de agregarlo a la cadena. Aquí hay una versión actualizada del método toString:
Este código verifica cada campo en busca de valores nulos antes de agregarlo a la cadena de resultado. Si un campo es nulo, se omite y no se agrega a la cadena. Esto debería solucionar el problema con los valores nulos que causan una NullPointerException en el código original.