在Kotlin中增加可空Int的简单而好的方法

Ale*_*rak 8 syntax kotlin

在Kotlin中增加可空Int的最简单,最可读的方法是什么?除此之外还有其他方法吗?

var myInt: Int? = 3
myInt = if(myInt!=null) myInt+1 else null
Run Code Online (Sandbox Code Playgroud)

如果myInt是简单变量,那么这很好,但是当myInt是一个更长的表达式时,它可以长得很长.

crg*_*dos 15

您可以以其可调用的方式调用运算符:

myInt = myInt?.inc()
Run Code Online (Sandbox Code Playgroud)

请注意,inc()运算符不会改变其接收器的值,而是创建一个新值.这意味着以下声明不会改变myInt:

val myInt: Int? = null
myInt?.inc() // myInt still being null
Run Code Online (Sandbox Code Playgroud)

都不是:

val myInt: Int? = 5
myInt?.inc() // myInt still being 5
Run Code Online (Sandbox Code Playgroud)

  • 如果你想增加任意数量,你也可以使用 `myInt?.plus(i)`。 (2认同)