Простой и приятный способ увеличить значение null в Kotlin

Каков самый простой и удобный способ увеличения значения 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, вам не нужно добавлять новый уровень сложности.