Definieren Sie eine Map als Konstante in Java

8

Für meine Android-App muss ich einige Schlüssel in einer einzigen Konstante definieren, und ich denke, der beste Weg dazu ist die Verwendung einer Karte. Aber nicht sicher, ob das wirklich der richtige Weg ist und wie man es richtig macht. Da ich auf Android ausgerichtet bin, kann auch ein Bundle eine Option sein.

Ich habe eine Liste von Schlüsseln wie:
"h"="http"
"f"="ftp"

Grundsätzlich ist das Programm, einen QR-Code zu lesen (damit dieser Code nicht zu groß wird, verwende ich super-kurze Schlüssel), bekommt diese Schlüssel und muss sie in etwas Nützliches übersetzen, in meinem Fall ein Protokoll.

Ich versuche eine Konstante namens KEY_PROTOCOLS zu definieren, ich denke, das sollte eine Map sein, also kann ich später etwas wie KEY_PROTOCOLS.get ("f") aufrufen, um das Protokoll zu bekommen, das zu Schlüssel "f" gehört.

Andere Klassen sollten diese Konstante ebenfalls importieren und verwenden können. Daher muss diese Karte sofort in der Klasse enthalten sein.

Wie kann ich das tun?

    
Wouter 26.06.2011, 14:36
quelle

4 Antworten

17

Wenn die Konstante von mehreren Klassen gemeinsam genutzt wird und Sie sicherstellen möchten, dass diese Karte nicht durch einen Code gelöscht oder geändert wird, sollten Sie sie besser nicht ändern:

%Vor%     
JB Nizet 26.06.2011, 14:53
quelle
2

In etwa so:

%Vor%

Statische Initialisierer:

Ссылка

    
Blundell 26.06.2011 14:43
quelle
0

Das würde funktionieren.

%Vor%     
Andrew 26.06.2011 14:42
quelle
0

On Android:

%Vor%     
diyism 23.08.2013 10:16
quelle

Tags und Links