Enum - Key als Value ermitteln

TomTank

Mitglied
Ich möchte eine Sprachdatei über Properties auslesen. Unter anderem auch die Fehlermeldungen. Dazu habe ich mir gedacht ich mach mir eine Enum mit n Fehlermeldungen... also in der Form

enum Errors {
DB_ERROR, DB_DRIVER_ERROR, ....
}

Die Sprachdatei, als Ini-Datei, liegt in folgender Form

DB_ERROR = Datenbankfehler
DB_DRIVER_ERROR = Datenbanktreiberfehler
....

über Properties.getProperties( String key ) könnte ich die Sprachdatei auslesen. Nur wie bekomme ich "DB_ERROR" bzw. "DB_DRIVER_ERROR" den Schlüssel des Enum in einen String konvertiert?
 
Java:
String name = MyEnum.name();

und rückwärts

Java:
MyEnum entry = MyEnum.valueOf(MyEnum.class, name);

MyEnum.toString() ist für dieses Aktionen nicht empfohlen, weil nicht so exakt wie name().
 
Oder so:

Java:
public enum MyEnum{
entry1('blabla'),
entry2('blub');

public final strg;

private MyEnum(String txt){
    strg = txt;
}

und dann holen mit

Java:
String x = MyEnum.entry1.strg;
 
Es ist schlecht, die von der Sprache vorgesehenen Mechanismen (hier: Exceptions) nochmal parallel abzubilden. Du kannst eigene Exception-Klassen schreiben, und in diesen auch Internationalisierung implementieren.
 

Neue Themen


Zurück
Oben