Sé que hay una manera de escribir una declaración if de Java en forma abreviada.
if (city.getName() != null) { name = city.getName(); } else { name="N/A"; }¿Alguien sabe cómo escribir la forma abreviada de las 5 líneas anteriores en una línea?
Utilice el operador ternario:
name = ((city.getName() == null) ? "N/A" : city.getName());Creo que tienes las condiciones al revés: si es nulo, quieres que el valor sea "N/A".
¿Qué pasa si la ciudad es nula? Su código * golpea la cama en ese caso. Agregaría otro cheque:
name = ((city == null) || (city.getName() == null) ? "N/A" : city.getName());Para evitar llamar a .getName() dos veces, usaría
name = city.getName(); if (name == null) name = "N/A";La forma de hacerlo es con el operador ternario:
name = city.getName() == null ? city.getName() : "N/A"Sin embargo, creo que tiene un error tipográfico en su código anterior, y quiere decir:
if (city.getName() != null) ...