javaif-statementternary-operator

Short form for Java if statement


I know there is a way for writing a Java if statement in short form.

if (city.getName() != null) {
    name = city.getName();
} else {
    name="N/A";
}

Does anyone know how to write the short form for the above 5 lines into one line?


Solution

  • Use the ternary operator:

    name = ((city.getName() == null) ? "N/A" : city.getName());
    

    I think you have the conditions backwards - if it's null, you want the value to be "N/A".

    What if city is null? Your code *hits the bed in that case. I'd add another check:

    name = ((city == null) || (city.getName() == null) ? "N/A" : city.getName());