我知道有一种方法可以用简短的形式编写Java if语句。
if (city.getName() != null) {
name = city.getName();
} else {
name="N/A";
}
有谁知道如何把以上5行的简写成一行吗?
我知道有一种方法可以用简短的形式编写Java if语句。
if (city.getName() != null) {
name = city.getName();
} else {
name="N/A";
}
有谁知道如何把以上5行的简写成一行吗?
当前回答
方法是用三元运算符:
name = city.getName() == null ? city.getName() : "N/A"
然而,我相信你在上面的代码中有一个拼写错误,你的意思是说:
if (city.getName() != null) ...
其他回答
为了避免两次调用.getName(),我将使用
name = city.getName();
if (name == null) name = "N/A";
你可以这样让它变得更简单:
name = city.getName() == null ? city.getName() : "N/A"
你可以用简短的形式写出if, else if, else语句。例如:
Boolean isCapital = city.isCapital(); //Object Boolean (not boolean)
String isCapitalName = isCapital == null ? "" : isCapital ? "Capital" : "City";
这是的缩写形式:
Boolean isCapital = city.isCapital();
String isCapitalName;
if(isCapital == null) {
isCapitalName = "";
} else if(isCapital) {
isCapitalName = "Capital";
} else {
isCapitalName = "City";
}
使用org.apache.commons.lang3.StringUtils:
name = StringUtils.defaultString(city.getName(), "N/A");
这是一行代码
name = (city.getName() != null) ? city.getName() : "N/A";
下面是它如何工作的例子,在js文件中运行下面的代码并理解结果。这("Data" != null)是条件,因为我们在正常的if()和"Data"是语句时,这个条件为真。这个“:”充当else和“N/A”是else条件的语句。希望这能帮助你理解其中的逻辑。
name = ("Data" != null) ?"Data": "N/A"; console.log(名称);