eine initialisierte statische Hashtable elegant schreiben [duplizieren]

7

Gibt es eine Möglichkeit, eine statische abschließende Hashtabelle in Java in Schlüsselwertpaaren zu schreiben, genau so wie Sie ein Zeichenfolgenarray bequem initialisieren können als:

%Vor%

Grundsätzlich meine ich, dass ich nicht die Worte "put" für Schlüssel: Wert-Paare schreiben muss, sondern stattdessen etwas wie:

%Vor%

welche IMO eleganter aussieht.

(Ich weiß, dass die Initialisierung in einem statischen Block sein müsste. Ich lasse das für jetzt aus)

    
I J 15.10.2011, 05:15
quelle

4 Antworten

7

Nein, Java hat keine Map-Literale, aber Array-Literale.

%Vor%

Natürlich fügt dies der direkten Kopie und Paste put Lösung nichts wirklich hinzu und es funktioniert nicht gut, wenn Ihre Schlüssel- und Werttypen nicht gleich sind.

    
rlibby 15.10.2011, 05:31
quelle
8

Eine anonyme innere Klasse würde Ihnen die doppelte Klammerinitialisierung geben, was in einigen Fällen nützlich ist:

%Vor%

In jedem Fall ist @ michael667's Antwort wahrscheinlich die beste

    
brcosta 16.10.2011 08:19
quelle
7

Sie können guavas ImmutableMap : %Vor%     

michael667 15.10.2011 05:24
quelle
-1

Nein, Sie suchen nach etwas wie C # 's Auflistungsinitiatoren , was nicht der Fall ist derzeit in Java vorhanden.

Sie können eine anonyme Klasse verwenden, um ein wenig Tipparbeit zu speichern, aber Sie müssen immer noch put schreiben.

    
Matthew Flaschen 15.10.2011 05:21
quelle

Tags und Links