Comment attribuer une valeur nulle à ArrayList
dans Kotlin?
J'essaie d'ajouter une valeur nulle à mon ArrayList
personnalisé comme ça
var mList = ArrayList<CustomClass>()
mList.add(null)
Dans Java c'est possible mais comment puis-je y parvenir dans Kotlin? Je reçois
null ne peut pas être une valeur de kotlin de type non null
J'ai besoin d'insérer null valeur pour faire charger plus de fonctionnalités dans RecyclerView
Ensuite, vous devez l'écrire de cette façon.
var mList = ArrayList<CustomClass?>()
mList.add(null)
Vous devez ajouter un ?
après le type dans ArrayList car ?
nous permet de mettre une valeur nulle.
Le système de types de Kotlin fait la différence entre les types nullables et les types non null. Par exemple, si vous déclarez une simple variable String
et laissez le compilateur inférer son type, il ne peut pas contenir null
:
var a = "text" //inferred type is `String`
a = null //doesn’t compile!
D'un autre côté, si vous voulez qu'une variable soit également capable de pointer vers null
, le type est explicitement annoté avec un point d'interrogation:
var a: String? = "text"
a = null //Ok!
Dans votre exemple, le ArrayList
est déclaré avec le type générique CustomClass
, qui n'est pas nullable. Vous devez utiliser le type nullable CustomClass?
À la place. Vous pouvez également utiliser les fonctions de bibliothèque standard de Kotlin pour créer des instances de listes , de préférence celles en lecture seule .
var mList = listOf<CustomClass?>(null)
Sinon, mutableListOf()
ou également arrayListOf()
vous aidera.