我知道有一种方法可以用简短的形式编写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行的简写成一行吗?
当前回答
1. 您可以删除括号和换行符。
if (city.getName() != null) name = city.getName(); else name = "N/A";
2. 你可以在java中使用?:操作符。
语法:
Variable = Condition ? BlockTrue : BlockElse;
所以在你的代码中你可以这样做:
name = city.getName() == null ? "N/A" : city.getName();
3.为Boolean指定条件结果
boolean hasName = city.getName() != null;
额外:好奇者
在一些基于JAVA的语言中,比如Groovy,你可以使用这种语法:
name = city.getName() ?: "N/A";
操作符?:赋给我们所请求的变量返回的值。在本例中,city.getName()的值(如果它不是空的话)。
其他回答
这是一行代码
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(名称);
1. 您可以删除括号和换行符。
if (city.getName() != null) name = city.getName(); else name = "N/A";
2. 你可以在java中使用?:操作符。
语法:
Variable = Condition ? BlockTrue : BlockElse;
所以在你的代码中你可以这样做:
name = city.getName() == null ? "N/A" : city.getName();
3.为Boolean指定条件结果
boolean hasName = city.getName() != null;
额外:好奇者
在一些基于JAVA的语言中,比如Groovy,你可以使用这种语法:
name = city.getName() ?: "N/A";
操作符?:赋给我们所请求的变量返回的值。在本例中,city.getName()的值(如果它不是空的话)。
使用三元运算符:
name = ((city.getName() == null) ? "N/A" : city.getName());
我认为你有反向的条件-如果它是空的,你想要的值是“N/A”。
如果城市为空呢?在这种情况下,你的代码就会完蛋。我还要再检查一下:
name = ((city == null) || (city.getName() == null) ? "N/A" : city.getName());
的吗?: Java中的操作符
在Java中,你可以这样写:
if (a > b) {
max = a;
}
else {
max = b;
}
根据单一条件将单个变量设置为两种状态之一是if-else的常见用法,因此为它设计了一种快捷方式,即条件操作符?:。使用条件操作符,你可以在一行中重写上面的例子,像这样:
max = (a > b) ? a : b;
(a > b) ?A: b;是返回两个值之一(a或b)的表达式。条件(a > b)被测试。如果为真,则返回第一个值a。如果为false,则返回第二个值b。无论返回哪个值都依赖于条件测试> b。条件可以是返回布尔值的任何表达式。
简单明了:
String manType = hasMoney() ? "rich" : "poor";
长版:
String manType;
if (hasMoney()) {
manType = "rich";
} else {
manType = "poor";
}
或者我如何使用它来让其他代码读者更清楚:
String manType = "poor";
if (hasMoney())
manType = "rich";