enum in String und wieder zurückwandeln

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich habe eine Liste von Suchkriterien welche enums sind(also id, name, city).
In einer Combobox möchte ich die in deutsch anzeigen und habe mir deswegen eine Methode geschrieben. welche eine variable searchCriteria bekommt und einen String mit der deutschen Bezeichnung zurückgibt. Die schreibe ich dann in die Liste. das funzt auch ganz gut. Jetzt brauch ich allerding auch den ausgewählten Wert wieder zurück als enum. Nur kann ich ja in einer switch case Abfrage keinen string abgeben und eine if schleife mit 8 pfaden finde ich auch nicht so besonders. elche Möglichkeit gibt es noch das prolem zu lösen also das umwandeln von enum in String und wieder zurück.
An der enum Klasse kann aber nix verändert werden.
 
S

SlaterB

Gast
dafür brauchst du eine Map, die von String auf Enum abbildet,
falls der String = Enum.toString() ist, dann nimm die vorgegebe Operation
DeineEnum e = DeineEnum.valueOf(string);

falls du einen anderen String hast kannst du entweder den als toString() ausgeben (toString() überschreiben)
oder musst eine eigene Hilfsstruktur wie eine HashMap aufbauen
 
G

Gast

Gast
Hallo
@Gast das es keine If-Schleifen, sondern nur Verzweigungen gibt weiß ich.

@Slater also das mit der toString Methode geht nicht, weil die enum Klasse nur die suchkriterein enthält, also, id, name, city usw.
Wenn ich das ganze in eine Map packe. und den enum als Schlüßel und die dt. Bezeichnung als Wert. kann ich ja einfach auf den wert zugreifen.
Aber wie komme ich dann vom Wert wieder an den Schlüßel?
 
S

SlaterB

Gast
nur indem du eine Map Wert (String)->Enum anlegst,


wie machst du es denn bisher manuell?
falls du einen Teilspring ausliest (in den ersten 20 Zeichen stehen die allgmeinen Suchkriterien),
dann bezieht sich das ganze Konzept natürlich nur auf diesen Teilstring
 

Marco13

Top Contributor
Anonymous hat gesagt.:
An der enum Klasse kann aber nix verändert werden.

Die Frage "Warum???" erspare ich dir jetzt mal, mache dir aber ein bißchen den Mund wässerig (so, dass du sie vielleicht DOCH änderst) : Wenn du bei denen enums die toString-Methode vernünftig überschreibst, kannst du sie direkt in die ComboBox packen - und bei getSelectedItem bekommst du dann das enum-Objekt zurück. Sehr praktisch.
Code:
enum Type
{
    FIRST("Der erste"),
    SECOND("Der zweite");
  
    private String description;
     
    Type(String description)
    {
        this.description = description;
    }

    public String toString()
    {
         return description;
    }
}
 
G

Gast

Gast
Hallo, ja das Problem ist, ich greife auf die enum Klasse aber nur zu. Die ist aber nicht von mir, deswegen kann ich sie nicht ändern. ich weiß das das einfacher wäre. Wie gehts denn mit der map?
 
G

Gast

Gast
@Slater
Also bisher habe ich halt nur die Methode getStringForValue(enum search) in der frage ich in einer switch case Abfrage ab, welches enum und gebe dann den String zurück. Nur geht das ja wie gesagt nur in die eine Richtung.

Und wenn ich eine map nehme. kann ich ja eigentlich auch immer nur in eine richtung abfragen also die richtung welche Schlüßel ist.

Es ist kein Teilstring, also ein enum z.b city steht für die bezeichnung stadt.

Was meinst du mit ?
SlaterB hat gesagt.:
ur indem du eine Map Wert (String)->Enum anlegst,
 
S

SlaterB

Gast
> in der frage ich in einer switch case Abfrage ab, welches enum und gebe dann den String zurück. Nur geht das ja wie gesagt nur in die eine Richtung.


um den Rückweg zu bestimmen ist es essentiell zu wissen, wie dieser String aufgebaut ist, was davon aus der Enum kommt usw.,
ohne Beispiele geht es nicht voran

> Was meinst du mit ?

ganz allgemein ohne besondere Ausnutzug sieht es so aus:

du hast bisher z.B.
Code:
for (Ergebnisse/ Auswahlmöglichkeiten) {
  Enum x = ..;
  String dazu = getStringForValue(x);
  füge in Combobox ein usw
}

später:

String y = get aus Combobox;
Enum dazu = ??? // Problem

mit Map sieht es dagegen so aus:
Code:
for (Ergebnisse/ Auswahlmöglichkeiten) {
  Enum x = ..;
  String dazu = getStringForValue(x);
  füge in Combobox ein usw

  hashmap.put(dazu,x);  // gespeichert: String dazu mappt auf Enum x
}

später:

String y = get aus Combobox;
Enum dazu = map.get(y);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Validation, ob String ein Wert aus einem Enum enthält Java Basics - Anfänger-Themen 3
B ENUM to List<String> konvertieren Java Basics - Anfänger-Themen 2
F Enum via String definieren Java Basics - Anfänger-Themen 2
K String mit ENUM vergleichen? Java Basics - Anfänger-Themen 6
I Enum in String Java Basics - Anfänger-Themen 4
L String zu Enum parsen Java Basics - Anfänger-Themen 8
S String - Enum Java Basics - Anfänger-Themen 3
J LinkedHashMap<beliebige enum wie definierbar, String> Java Basics - Anfänger-Themen 8
S Enum durch String auswählen Java Basics - Anfänger-Themen 8
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
volcanos enum und switch (neu): falschen Wert mit IllegalArgumentException oder mit EnumConstantNotPresentException abfangen ? Java Basics - Anfänger-Themen 51
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
S Java Enum Java Basics - Anfänger-Themen 2
V Enum Java Basics - Anfänger-Themen 1
C Farben als Enum Java Basics - Anfänger-Themen 3
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
I JAXB und Enum Java Basics - Anfänger-Themen 7
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
B Enum innerhalb einer Klasse / anderes Konzept Java Basics - Anfänger-Themen 8
N Enum Typen, was passiert intern mit ihnen? Java Basics - Anfänger-Themen 2
A enum Java Basics - Anfänger-Themen 6
O Enum Array Rekursiv abarbeiten Java Basics - Anfänger-Themen 44
N Java Enum converter Methode Java Basics - Anfänger-Themen 5
F Enum von Ländern Java Basics - Anfänger-Themen 8
J Klassen Enum als Informationsträger Java Basics - Anfänger-Themen 10
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
R Enum ist das gleiche wie? Java Basics - Anfänger-Themen 15
P Klassen Richtige Anwendung einer Enum-Klasse Java Basics - Anfänger-Themen 11
E Datentypen Problem beim Speichern von enum. Java Basics - Anfänger-Themen 10
J Compiler-Fehler class interface or enum expected Java Basics - Anfänger-Themen 1
E Objektvergleich Enum Java Basics - Anfänger-Themen 7
kilopack15 Euromünzen in enum als Liste ausgeben Java Basics - Anfänger-Themen 11
N Enum als generischer Typ Java Basics - Anfänger-Themen 4
H Datentypen Fehler bei Verwendung von enum Java Basics - Anfänger-Themen 9
lBlKha0s Fehlermeldung : class interface or enum expected Java Basics - Anfänger-Themen 9
T error: class, interface, or enum expected Java Basics - Anfänger-Themen 5
S Menüauswahl per Enum Java Basics - Anfänger-Themen 12
L Compiler-Fehler error: class, interface or enum expected Java Basics - Anfänger-Themen 2
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
M Enum-Variabel-Abfrage funktioniert nicht? Java Basics - Anfänger-Themen 2
P Fallunterscheidung mit Überprüfung (enum) Java Basics - Anfänger-Themen 11
H enum Type Java Basics - Anfänger-Themen 6
F Operatoren Enum aus Textdabei laden Java Basics - Anfänger-Themen 3
P enum: cannot be resolved to a type Java Basics - Anfänger-Themen 2
kaoZ Variablen Konstantensammlung vs. Enum Java Basics - Anfänger-Themen 9
H Enum außerhalb einer Klasse? Java Basics - Anfänger-Themen 2
K OOP Aufzählungstypen! enum Currency!!! Java Basics - Anfänger-Themen 5
F ENUM als Variable Java Basics - Anfänger-Themen 4
M Enum: Zugriff auf Konstanten Java Basics - Anfänger-Themen 7
W Enum Konstruktor Type Java Basics - Anfänger-Themen 2
A Erste Schritte ENUM - Werte zurückgeben Java Basics - Anfänger-Themen 5
D Enum als Parameter Java Basics - Anfänger-Themen 6
B Variablen Instanz von Enum zur Laufzeit erstellen und zuweisen Java Basics - Anfänger-Themen 2
B Datentypen Enum vererben/gruppieren? Java Basics - Anfänger-Themen 6
F Datentypen enum Java Basics - Anfänger-Themen 5
J Enum zählen Java Basics - Anfänger-Themen 8
D Einlesen eines Enum-Wertes per console Java Basics - Anfänger-Themen 3
N enum vergleiche Klammern? Java Basics - Anfänger-Themen 5
J public enum? in Java Java Basics - Anfänger-Themen 9
D Erste Schritte Enum - das unbekannte Wesen Java Basics - Anfänger-Themen 3
Y ENUM auslesen (Name des ENUM als Variable) Java Basics - Anfänger-Themen 4
P Compiler-Fehler "class, interface, or enum expected" Java Basics - Anfänger-Themen 5
K class, interface or enum expected Java Basics - Anfänger-Themen 14
pg1337 enum-Aufgabe Java Basics - Anfänger-Themen 5
N was sagt enum aus? Java Basics - Anfänger-Themen 3
S Methoden Enum Parameter in Methode Java Basics - Anfänger-Themen 7
G Datentypen enum Frage Java Basics - Anfänger-Themen 3
R Probleme mit Enum Java Basics - Anfänger-Themen 10
B Enum: Instanzen Java Basics - Anfänger-Themen 10
B Generic? Enum - So lösbar? Java Basics - Anfänger-Themen 8
T class, interface, or enum expected Java Basics - Anfänger-Themen 2
M Vererbung Enum Vererbung/Polymorphie Java Basics - Anfänger-Themen 2
P Enum Attribut in Konstruktoren Java Basics - Anfänger-Themen 10
4 Enum Problem Java Basics - Anfänger-Themen 2
turmaline Bindestrich in enum? Java Basics - Anfänger-Themen 5
T Enum - Key als Value ermitteln Java Basics - Anfänger-Themen 7
X enum Fehlermeldung "The public type Day must be defined in its own file" Java Basics - Anfänger-Themen 8
T ist enum.ordinal keine Konstante? Java Basics - Anfänger-Themen 7
R State machine mit enum Java Basics - Anfänger-Themen 9
L enum aus Integer umwandeln Java Basics - Anfänger-Themen 3
C Klasseninstanzierung mit enum-Parameter erzwingen Java Basics - Anfänger-Themen 2
N enum richtig verwenden Java Basics - Anfänger-Themen 5
M for(Enum..., ButtonGroup.getElements()... Java Basics - Anfänger-Themen 3
StrikeTom Fragen zu enum Java Basics - Anfänger-Themen 4
A Was ist performanter für Konstanten, enum oder static variablen Java Basics - Anfänger-Themen 5
J Datentypen Array in enum, ?? Wozu ?? Java Basics - Anfänger-Themen 3
S OOP Durch ein Enum iterieren... Java Basics - Anfänger-Themen 47
K Datentypen enum und liste Java Basics - Anfänger-Themen 7
H Eine enum switchen? Java Basics - Anfänger-Themen 7
G enum für Typsicherheit Java Basics - Anfänger-Themen 9
J class, interface, or enum expected - finde Fehler nicht. Java Basics - Anfänger-Themen 4
J OOP enum Java Basics - Anfänger-Themen 2
O Problem (Enum) Java Basics - Anfänger-Themen 14
S Enum als Index Java Basics - Anfänger-Themen 5
H Enum --> int ?? Java Basics - Anfänger-Themen 3
tanja enum in java Java Basics - Anfänger-Themen 3
D class, interface or enum expected Java Basics - Anfänger-Themen 2
A OOP Übergabe eines Wertes an den enum Konstruktor Java Basics - Anfänger-Themen 12

Ähnliche Java Themen


Oben