Das Problem besteht im Wesentlichen darin, dass wir ein Array von Objekt-ArrayListen erstellt haben, weil wir nicht genau wissen, was wir dort später speichern werden, aber wir wissen, wie (wir müssen es machen Weg), so initialisiert die Standarderstellung auf der Konstruktormethode es als private List<Object> collection
aber später einige Eingabe wird es ändern, sagen es zu einer Zeichenfolge, so sollte die AL auf der Position etwa wie collection[i] = new ArrayList<String>()
sein, aber der Compiler sagt, dass ArrayList<String> cannot be converted into ArrayList<Object>
sogar dachte ich bin mir ziemlich sicher, String, Integer, etc erben von der Klasse Objekt
Jeder kann mir sagen, was mache ich falsch?Ändern des Typs einer ArrayList
0
A
Antwort
0
1) collection[i]
ist ein Array
2), wenn Sie es so schreiben wollte:
List<Object> collection; collection = new ArrayList<String>();
Sie erhalten eine incompatible types: ArrayList<String> cannot be converted to List<Object>
Sie können nicht verdeckte String Objekt. Wenn Sie es wollen, müssen Sie es als eine Liste von Strings erstellen. Wenn Sie nicht wissen, welchen Typ Sie brauchen, erstellen Sie es einfach, wenn Sie es wissen. Wenn es der Benutzer ist, der es wählt, mache einen Schalter wie diesen:
switch (entry) {
case 1: {
List<String> collection = new ArrayList<>();
break;
}
case 2: {
List<Integer> collection = new ArrayList<>();
break;
}
case 3: {
List<Character> collection = new ArrayList<>();
}
}
Verwandte Themen
- 1. Kerndatenmigration: Ändern des beständigen Speichers des Typs
- 2. Ändern des D-Typs einer Zeile in einem Datenframe
- 3. Werte ändern In einer Arraylist
- 4. Ändern Farbe aller Oberflächenelemente des gleichen Typs
- 5. Notwendigkeit, Wörterbuch aus einem Objekt des Typs ArrayList zu extrahieren
- 6. Ändern von Begriffen in einer Arraylist
- 7. Problem beim Initialisieren einer Variablen des Typs Wörterbuch mit einer anderen Variablen des Typs dict
- 8. Dynamische Änderung des Typs des Validators in einer Textbox
- 9. DependencyProperty des Typs Delegate
- 10. Abrufen des Typs einer MemberInfo mit Reflektion
- 11. Verständnis einer komplizierten Signatur des Typs
- 12. Mit einer Liste innerhalb des Dictionary-Typs
- 13. Konvertierung des Typs einer Template-Klasse?
- 14. Suchen des konkreten Typs hinter einer Schnittstelleninstanz
- 15. Standardwert des dynamischen Typs?
- 16. Abrufen des parameterlosen Typs
- 17. BCE0051: ‚*‘ Operator verwendet wird, kann nicht mit einer linken Seite des Typs ‚schweben‘ und einer rechten Seite des Typs ‚Objekt‘
- 18. Ändern Sie den Wert des Typs Bool mit der Zeichenfolge
- 19. Ändern des Typs einer (Entity Framework) -Entität, die Teil einer Vererbungshierarchie ist
- 20. Array in ArrayList ändern
- 21. Ändern des Typs jedes Wörterbuchs in einem Wörterverzeichnis von Wörterbüchern
- 22. In SQL Server ändern Spalte des Typs Int, um Text
- 23. Recurse in eine Template-Funktion nach dem Ändern des Typs
- 24. Ändern des T-Typs int im lokalen Fenster
- 25. Erstellen eines Arrays von ArrayList, die Objekt des Generischen Typs speichern
- 26. Größe des generischen Typs
- 27. Subtrahieren einer ArrayList von einer anderen ArrayList
- 28. Ermitteln des Typs des Klassentypparameters Typescipt
- 29. Wert des Attributs des Typs SDO_GEOMETRY anzeigen
- 30. java 8 stream creating Sammlung des Typs B aus der Sammlung des Typs A
was ist 'collection [i]' für? Einfach 'hinzufügen' zur Sammlung –
Sammlung [] ist das Array, das mit ArrayLists gefüllt wird, aber sie weigern, Typen zu ändern –
Warum nicht 'List