Ich weiß, dass ich eine List
mit doppelten Klammern deklarieren und initialisieren kann:
Aber ich möchte ein List
von <Map<Object,Object>>
:
Wie kann ich die doppelte Klammerinitialisierung (siehe (1)) mit verschachtelten Sammlungen verwenden? Mein Ziel ist es, die Datenstruktur in einer einzigen Zeile zu deklarieren und zu initialisieren.
Ich würde auch gerne wissen, ob es gewisse Nachteile bei der Verwendung der Doppelstrebeninitialisierung gibt, die ich beachten muss.
Vermeiden Sie doppelte Klammerinitialisierung, da es a) Ihre Kollegen überrascht und schwer zu lesen ist, b) die Leistung beeinträchtigt und c) Probleme mit der Objektgleichheit verursachen kann (jedes erstellte Objekt hat ein eindeutiges Klassenobjekt).
Wenn Sie an einem Code-Style-Guide arbeiten, gehört diese Art von Trickserei in den Abschnitt do not .
Wenn Sie wirklich in der Lage sein möchten, Listen und Karten inline zu erstellen, machen Sie einfach ein paar Factory-Methoden. Könnte so aussehen:
%Vor%Vangs Beispiel zeigt jedoch genau, wie die Syntax für Ihr Beispiel für die Doppelstrebeninitialisierung ist.
Es ist keine gute Idee, weil es schwer zu lesen ist, aber Sie können Folgendes tun:
%Vor%Tags und Links java double-brace-initialize