Java if文の短縮形 質問する

Java if文の短縮形 質問する

ifJavaステートメントを短い形式で記述する方法があることは知っています。

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

上記の 5 行を 1 行に短縮して記述する方法を知っている人はいますか?

ベストアンサー1

三項演算子を使用します。

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

条件が逆になっていると思います。null の場合は、値を「N/A」にする必要があります。

city が null の場合はどうなるでしょうか? その場合、コードはベッドに*ヒットします。別のチェックを追加します:

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

おすすめ記事