Kotlin Sternprojektionen entsprechen nicht den Rohtypen von Java. Der Stern (*) in MutableList<*>
bedeutet, dass Sie Werte sicher aus der Liste lesen können, aber Sie können keine Werte sicher darauf schreiben; Die Listenwerte sind alle von einem unbekannten Typ, der Person
, String
, Number?
oder sogar Any?
sein kann. Das ist dasselbe wie MutableList<out Any?>
.
Im Gegensatz dazu bedeutet MutableList<Any?>
, dass Sie einen beliebigen Wert von und in die Liste lesen und schreiben können. Alle Werte können vom gleichen Typ sein (z. B. Person
), aber sie könnten gemischte Typen sein (z. B. Person
und String
).
In Ihrem Fall möchten Sie vielleicht dataList: MutableList<Any>
verwenden, was bedeutet, dass Sie alle Nicht-Null-Werte von und in die Liste lesen und schreiben können.
Tags und Links kotlin kotlin-android-extensions kotlin-extension