Short form for Java if statement

后端 未结 15 1345
半阙折子戏
半阙折子戏 2020-12-02 04:38

I know there is a way for writing a Java if statement in short form.

if (city.getName() != null) {
    name = city.getName();
} else {
    name=         


        
相关标签:
15条回答
  • 2020-12-02 04:55

    You can use ternary operator in java.

    Syntax:

    Condition ? Block 1 : Block 2
    

    So in your code you can do like this,

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

    For more info you can refer this resource.

    0 讨论(0)
  • 2020-12-02 04:56
    name = (city.getName() != null) ? city.getName() : "N/A";
    
    0 讨论(0)
  • 2020-12-02 04:58

    Use org.apache.commons.lang3.StringUtils:

    name = StringUtils.defaultString(city.getName(), "N/A");
    
    0 讨论(0)
  • 2020-12-02 04:59

    The ? : operator in Java

    In Java you might write:

    if (a > b) {
      max = a;
    }
    else {
      max = b;
    }
    

    Setting a single variable to one of two states based on a single condition is such a common use of if-else that a shortcut has been devised for it, the conditional operator, ?:. Using the conditional operator you can rewrite the above example in a single line like this:

    max = (a > b) ? a : b;
    

    (a > b) ? a : b; is an expression which returns one of two values, a or b. The condition, (a > b), is tested. If it is true the first value, a, is returned. If it is false, the second value, b, is returned. Whichever value is returned is dependent on the conditional test, a > b. The condition can be any expression which returns a boolean value.

    0 讨论(0)
  • 2020-12-02 05:02
    name = city.getName()!=null?city.getName():"N/A"
    
    0 讨论(0)
  • 2020-12-02 05:03

    To avoid calling .getName() twice I would use

    name = city.getName();
    if (name == null) name = "N/A";
    
    0 讨论(0)
提交回复
热议问题