Kotlin:null不能是非nulltypes的kotlin的值
如何将空值分配给Kotlin中的ArrayList
?
我正在尝试将null值添加到我的自定义ArrayList
中
var mList = ArrayList() mList.add(null)
在Java中它可能,但我怎么能在Kotlin中实现这一点? 我正进入(状态
null不能是非空typeskotlin的值
我需要插入空值来在RecyclerView中加载更多的function
那么你必须这样写。
var mList = ArrayList() mList.add(null)
你必须添加一个?
因为ArrayList中的types?
允许我们把一个空值。
Kotlin的types系统区分可空types和非空types。 例如,如果声明一个简单的String
variables并让编译器推断它的types,那么它不能为null
:
var a = “text” //inferred type is `String` a = null //doesn't compile!
另一方面,如果你想要一个variables也能够指向null
,那么这个types明确地用一个问号标注:
var a: String? = “text” a = null //Ok!
在你的例子中, ArrayList
是用genericstypesCustomClass
声明的,不能为空。 你需要使用可空typesCustomClass?
代替。 此外,您可以使用Kotlin的标准库函数来创建列表实例 ,最好是只读的 实例 。
var mList = listOf(null)
否则mutableListOf()
或arrayListOf()
将帮助你。