在Kotlin中增加可空Int的简单而好的方法
什么是在Kotlin中增加可空Int的最简单和最好的可读方法? 除了这样做还有别的方法吗?
var myInt: Int? = 3 myInt = if(myInt!=null) myInt+1 else null
如果myInt是简单的variables,这是相当好的,但是当myInt是更长的expression式时它可以长得很长。
您可以通过以下方式调用运营商:
myInt = myInt?.inc()
使用inc
在Kotlin中,所有的操作符都被转换成方法调用。 在这里看到更多的细节。
var myInt: Int? = 3 myInt = myInt?.inc()
var myInt: Int? = 3 myInt = myInt?.inc()
请注意,我已经将inc()
返回的值分配给myInt
,因为文档声明了以下内容:
inc()和dec()函数必须返回一个值,该值将被分配给使用++或 – 操作的variables。 他们不应该改变调用inc或dec的对象。
最好的解决方案是crgarridos的一个。
如果你想增加其他值,这是一个替代方案:
var myInt: Int? = 1 val n = myInt?.plus(1) println(n)
这打印:
2
其他答案提出了更短的选择,我将介绍如何正确使用基本的if结构:
var myInt: Int? = 3 if (myInt != null) myInt++
这很像在Java中,你不必添加任何新的复杂层。