Map toString umkehren

Marine_of_Hell

Grünschnabel
Hallo!

Wenn ich bei einer Map die toString() Methode nutze erhalte ich ja eine Ausgabe wie folgt:

Code:
{key=word, foo=bar}

Jetzt möchte ich jedoch diese Ausgabe wieder in eine Map bringen und suche dazu eine elegante Methode.
Mir ist klar, dass ich es mit einer for-Schleife und String-Replace etc. lösen könnte, finde das aber nicht so elegant. Hat da jemand eine bessere Idee bzw. gibt es da eine Java-Core Methode die sowas vielleicht sogar macht? Das JavaDoc gibt in der Richtung nicht viel her oder ich suche unter den falschen Keyword !? ;)

Danke.

Gruß,
Thomas
 
hi,

ich würde mich da generell erst einmal nicht darauf verlassen, dass die toString() Methode immer sowas ausgibt. Das dürfte arg vom Typen abhängen. Ich bin mir gerade nicht 100%ig sicher, aber die Ostermiller Utilities enthalten sowas auch afaik schon (ostermiller.com)

Grüße
gore
 
Hallo Thomas,

soweit ich weiß gibt es keine Core Methode, die den String parst. Aber erstmal die Frage, willst Du damit eine Übungsaufgabe lösen oder etwas produktives machen :)

Im Fall 1, schau dir Regular Expressions an.
z.B. so etwas http://www.developer.com/java/other/article.php/1460561/Regular-Expressions-in-Java.htm

Im Fall 2, was willst Du denn machen? toString lässt sich nicht zu 100% wieder zurück parsen. Was passiert wenn wenn Du folgendes auf die System.out ausgibst?
Java:
    HashMap<String, String> map = new HashMap<String, String>();
    map.put("person-1", "Smith, John");
    map.put("person-2", "Miller, John");
    map.put("person-3", "Kerrigan, John");
    System.out.println(map);

    map.clear();
    map.put("calculation-1", "x+1=3");
    map.put("calculation-2", "x+2=3");
    map.put("calculation-3", "x+3=3");
    System.out.println(map);
 
Zuletzt bearbeitet:
Hallo,

könntest du mal schreiben, warum du die String Representation wieder in die Map bringen möchtest ?

Wenn du bei der Entwicklung einer SW auf so eine Anforderung stößt, klngt das für mich danach, dass du davor irgendwas falsch konzipiert hast ...

Könntest du dein Problem evtl. auch durch Serialisieren lösen ?

Gruß

Tikonteroga
 
Zurück