Java if 语句的缩写形式

2022-08-31 05:22:10

我知道有一种方法可以以简短的形式编写Java语句。if

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

有谁知道如何将上述5行的缩写形式写成一行?


答案 1

使用三元运算符:

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

我认为你有条件倒过来 - 如果它是空的,你希望值为“N / A”。

如果城市为空怎么办?在这种情况下,您的代码*会击中床。我会添加另一个检查:

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

答案 2

为了避免打电话两次,我会使用.getName()

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

推荐