Каков самый простой и удобный способ увеличения значения NULT в Котлине? Есть ли другой способ, чем делать это?
var myInt: Int? = 3 myInt = if(myInt!=null) myInt+1 else null
Это довольно хорошо, если myInt – простая переменная, но она может расти очень долго, когда myInt является более длинным выражением.
Вы можете вызвать оператора следующим образом:
myInt = myInt?.inc()
Использовать inc
. В Котлине все операторы преобразуются в вызов метода. Подробнее см. Здесь .
var myInt: Int? = 3 myInt = myInt?.inc()
var myInt: Int? = 3 myInt = myInt?.inc()
Обратите внимание, что я присвоил значение, возвращаемое inc()
в myInt
, поскольку в документации указано следующее:
Функции inc () и dec () должны возвращать значение, которое будет присвоено переменной, в которой использовалась операция ++ или -. Они не должны мутировать объект, на который был вызван inc или dec.
Лучшим решением является crgarridos ' one.
Вот альтернатива, если вы хотите увеличить другие значения:
var myInt: Int? = 1 val n = myInt?.plus(1) println(n)
Это печатает:
2
Другие ответы содержат более короткие альтернативы, я расскажу, как правильно использовать базовую if-construct:
var myInt: Int? = 3 if (myInt != null) myInt++
Это похоже на Java, вам не нужно добавлять новый уровень сложности.