I know there is a way for writing a Java if
statement in short form.
if (city.getName() != null) {
name = city.getName();
} else {
name=
You can use ternary operator in java.
Syntax:
Condition ? Block 1 : Block 2
So in your code you can do like this,
name = ((city.getName() == null) ? "N/A" : city.getName());
For more info you can refer this resource.
name = (city.getName() != null) ? city.getName() : "N/A";
Use org.apache.commons.lang3.StringUtils:
name = StringUtils.defaultString(city.getName(), "N/A");
The ? : operator in Java
In Java you might write:
if (a > b) {
max = a;
}
else {
max = b;
}
Setting a single variable to one of two states based on a single condition is such a common use of if-else that a shortcut has been devised for it, the conditional operator, ?:. Using the conditional operator you can rewrite the above example in a single line like this:
max = (a > b) ? a : b;
(a > b) ? a : b; is an expression which returns one of two values, a or b. The condition, (a > b), is tested. If it is true the first value, a, is returned. If it is false, the second value, b, is returned. Whichever value is returned is dependent on the conditional test, a > b. The condition can be any expression which returns a boolean value.
name = city.getName()!=null?city.getName():"N/A"
To avoid calling .getName()
twice I would use
name = city.getName();
if (name == null) name = "N/A";