这个问题在这里已经有了答案:
In Kotlin, what is the idiomatic way to deal with nullable values, referencing or converting them
(4 个回答)
3年前关闭。
我有时会看到像 somevariable.value?.add()
这样的语句问号有什么作用?
(抱歉,在发帖时我不知道这是 Kotlin,我以为是 java)
最佳答案
Kotlin 款待 null
不仅仅是空指针异常的来源。
在您的代码片段中,somevariable.value
属于“可空类型”,例如 MutableList?
或 Axolotl?
.一个 MutableList
不能是 null
, 但是一个 MutableList?
可能是 null
.
通常,要在对象上调用函数,请使用 .
.
对变量、参数或属性调用函数的一种选择是
可空类型的使用 ?.
.然后,将发生以下两种情况之一:
null
,您的函数调用将被忽略,并且 null
是个结果
null
,您的函数调用正常进行所以,在你的情况下:
somevariable.value
是 null
, add()
通话被跳过somevariable.value
不是 null
, add()
调用任何电话somevariable.value
是 关于kotlin - 变量后的Android问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53453142/