Short form for Java if statement

Makky picture Makky · Jan 17, 2012 · Viewed 661.9k times · Source

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?

Answer

duffymo picture duffymo · Jan 17, 2012

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());