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。 例如,如果声明一个简单的Stringvariables并让编译器推断它的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()将帮助你。