Hypothetisch habe ich 5 String-Array-Objekte:
String[] array1 = new String[];
String[] array2 = new String[];
String[] array3 = new String[];
String[] array4 = new String[];
String[] array5 = new String[];
und ich möchte, dass ein anderes Array-Objekt diese 5 String-Array-Objekte enthält. Wie mache ich es? Kann ich es in ein anderes Array einfügen?
Antworten:
So was:
oder
(Die letztere Syntax kann in anderen Zuweisungen als am Punkt der Variablendeklaration verwendet werden, während die kürzere Syntax nur mit Deklarationen funktioniert.)
quelle
new String[10][]
?Versuchen
quelle
arrays[0] = new String[] {"a", "b", "c"}
oder eine temporäre Liste verwenden: <pre> <code> List <String []> myList = new ArrayList <> (); myList.add (neuer String [] {"a", "b", "c"}); myList.add (neuer String [] {"d", "e", "f"}); myList.toArray (Arrays); </ code> </ pre>Obwohl es zwei ausgezeichnete Antworten gibt, die Ihnen sagen, wie es geht, fehlt meiner Meinung nach eine andere Antwort: In den meisten Fällen sollten Sie es überhaupt nicht tun.
Arrays sind umständlich. In den meisten Fällen ist es besser, die Collection-API zu verwenden .
Mit Sammlungen können Sie Elemente hinzufügen und entfernen, und es gibt spezielle Sammlungen für verschiedene Funktionen (indexbasierte Suche, Sortierung, Eindeutigkeit, FIFO-Zugriff, Parallelität usw.).
Während es natürlich gut und wichtig ist, über Arrays und deren Verwendung Bescheid zu wissen, macht die Verwendung von Sammlungen APIs in den meisten Fällen viel einfacher zu verwalten (weshalb neue Bibliotheken wie Google Guava Arrays kaum verwenden).
Für Ihr Szenario würde ich eine Listenliste bevorzugen und diese mit Guava erstellen:
quelle
Es gibt die Klasse, die ich in dem Kommentar erwähnt habe, den wir mit Sean Patrick Floyd hatten: Ich habe sie mit einer besonderen Verwendung gemacht, die WeakReference benötigt, aber Sie können sie mit Leichtigkeit durch jedes Objekt ändern.
Ich hoffe, das kann eines Tages jemandem helfen :)
Beispiel für die Verwendung:
quelle