Comment puis-je convertir Array
en ArrayList
dans Kotlin?
Type inference failed. Expected type mismatch: inferred type is kotlin.collections.ArrayList<Array<String>!> /* = java.util.ArrayList<Array<String>!> */ but kotlin.collections.ArrayList<String>? /* = java.util.ArrayList<String>? */ was expected
Je reçois cette erreur:
Erreur
var categoryList : ArrayList<String>?=null val list = arrayOf("None", "ABC") categoryList = ArrayList(Arrays.asList(list))
3 Réponses :
Vous pouvez être intéressé par toCollection
pour ajouter les éléments à toute collection que vous transmettez:
categoryList = ArrayList(Arrays.asList(*list))
Notez que pour résoudre votre problème spécifique, vous avez juste besoin de opérateur de propagation ( *
) . Avec le *
-fix appliqué, cela aurait fonctionné aussi:
categoryList = list.toCollection(ArrayList())
Peut-être êtes-vous également intéressé par < code> list.toMutableList () . cela dépend si vous avez vraiment besoin de cette ArrayList
;-)
J'espère que cela vous aidera.
var categoryList : ArrayList<String>?=null val list = arrayOf("None", "ABC") categoryList = list.toCollection(ArrayList())
Une autre approche consiste à utiliser arrayListOf
categoryList =arrayListOf("None", "ABC")
Double possible de Créer une ArrayList à partir d'un tableau
@Roland Désolé mon mal, il l'a marqué comme java d'abord, j'aurais dû voir le code complet correctement. Dans ce cas, sa copie de Convertir un tableau en liste dans Kotlin
@ManoharReddy pas de problème ... je viens de voir cette modification après mon commentaire ;-) ... enfin ... certainement similaire ... mais ... il définit un type ici à l'avance et se trompe là-bas ... le même le problème est en dessous, mais 2 points de départ différents à mon avis ... Je cherchais vraiment une question mentionnant ce message d'erreur, mais je n'ai pas pu en trouver une ... je me demandais pourquoi l'opérateur de propagation n'était pas mentionné dans la question liée. ...