Statische Karten in Java initialisieren: Optionen und Überlegungen
Statische Karten bieten eine praktische Möglichkeit, Schlüssel-Wert-Paare innerhalb einer Klasse zu speichern. Wenn es um die Initialisierung statischer Karten geht, bietet Java zwei primäre Methoden: den statischen Initialisierer und den Instanzinitialisierer (unter Verwendung einer anonymen Unterklasse).
Statischer Initialisierer
Der statische Mit der Initialisierungssyntax können Sie die Karte definieren und ihre Werte in einem statischen Block auffüllen, wie im folgenden Beispiel dargestellt:
private static final Map<Integer, String> myMap = new HashMap<>(); static { myMap.put(1, "one"); myMap.put(2, "two"); }
Diese Methode ist unkompliziert und erfordert keine zusätzlichen Klassen oder syntaktischen Zucker. Allerdings werden alle nach der Initialisierung an der Karte vorgenommenen Änderungen nicht in der statischen Version widergespiegelt.
Instanzinitialisierer (anonyme Unterklasse)
Der Instanzinitialisierer auf der Andererseits wird eine anonyme Unterklasse zum Initialisieren der Karte verwendet:
private static final Map<Integer, String> myMap2 = new HashMap<>(){ { put(1, "one"); put(2, "two"); } };
Dieser Ansatz bietet eine kompakte und prägnante Syntax zum Initialisieren der Karte. Es wird jedoch eine anonyme Unterklasse erstellt, die möglicherweise die Leistung beeinträchtigen kann, insbesondere in stark verschachtelten Instanzen.
Überlegungen
private static final Map<Integer, String> myMap = Collections.unmodifiableMap(aMap);
Welche Methode soll gewählt werden?
Die Wahl zwischen Der statische Initialisierer und der Instanzinitialisierer hängen vom jeweiligen Anwendungsfall ab:
Das obige ist der detaillierte Inhalt vonWie initialisiert man statische Karten in Java am besten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!