Сократите этот код, чтобы проверить наличие нулевого выражения - PullRequest
0 голосов
/ 12 января 2020

У меня есть этот код:

if ((oldTest != null) && (oldTest.snapshotUrl != null)) {
    val startPos = oldTest.snapshotUrl!!.lastIndexOf("_") + 1
}

Есть ли способ в Kotlin сократить это? Я не верю, что необходимо проверять, имеет ли oldTest.snapshotUrl значение NULL. К сожалению, это не работает:

if (oldTest != null) {
    val startPos = oldTest.snapshotUrl?.lastIndexOf("_") + 1
}

1 Ответ

3 голосов
/ 12 января 2020
oldTest?.snapshotUrl?.let {
  val startPos = it.lastIndexOf("_") + 1
}

См. https://kotlinlang.org/docs/reference/idioms.html#execute -if-not-null

Или, если snapshotUrl не имеет значения

oldTest?.let {
  val startPos = it.snapshotUrl.lastIndexOf("_") + 1
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...