В Kotlin когда `когда` - лучшее решение, чем` если`? - PullRequest
0 голосов
/ 07 апреля 2020

Здесь у меня есть образец, мне интересно, когда when является лучшим решением, чем if?

  when {
        uri.isNullOrEmpty() -> Log.i()
        else -> display(uri)
    }

    if(uri.isNullOrEmpty()){
       Log.i()
    }else{
       display(uri)
    }

Ответы [ 2 ]

1 голос
/ 07 апреля 2020

Как ответил @Juan Ortiz Couder, от вашего случая зависит, какой из них лучше. Может быть, когда лучше, когда у вас есть несколько случаев. Если лучше, когда у вас есть только 1 условие или два случая, которые вы можете использовать, если еще для этого. Например, вы используете if(text.isEmpty()){... } else{... }

Здесь, если читаемость лучше, чем когда.

Они оба полезны, и мы не можем сказать, что одно лучше другого. Это зависит.

1 голос
/ 07 апреля 2020

Когда используется больше похоже на оператор switch. Он используется вместо того, чтобы писать несколько операторов if.

when (x) {
    3 -> print("x == 3")
    8 -> print("x == 8")
else -> { 
    print("x is neither 3 nor 8")
}

Это очень полезно вместо того, чтобы писать

if (x == 3) {
    print("x == 3")
} else if (x == 8){
    print("x == 8")
} else {
    print("x is neither 3 nor 8")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...