问题

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

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

有谁知道如何将5行以上的简短表格写成一行...


#1 热门回答(281 赞)

使用三元运算符:

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

我认为你有条件倒退 - 如果它是null,你想要的值是"N / A"。

如果城市是空的怎么办?在这种情况下,你的代码*会打到床上。我要添加另一张支票:

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

#2 热门回答(20 赞)

这样做的方法是使用三元运算符:

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

但是,我相信你上面的代码中有一个拼写错误,你的意思是说:

if (city.getName() != null) ...

#3 热门回答(18 赞)

为了避免打电话,我会使用

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

原文链接