Leicht umwandeln Map<String, Object> zu Map<String, String>

Einer API, die ich verwende, hat eine Methode, die zurückgibt einen Map<String, Object>, aber ich kenne die Object's sind String's in diesem Fall, so möchte ich es als Map<String, String>.

Aber aus irgendeinem Grund kann ich nicht einfach casten, Java sagt Map<String, Object> können nicht gegossen werden, um Map<String, String> aus irgendeinem Grund.

Verwendet habe ich:

Map<String, Object> tempMap = someApiMethodReturningAMap();
Map<String, String> map = new HashMap<String, String>();
for (String i : tempMap.keySet()) {
    map.put(i, String.valueOf(tempMap.get(i)));
}

als ein workaround, aber gibt es einen einfacheren Weg?

  • Das ist einfach und verständlich, ich würde nur empfehlen, ändern Sie den cast zu 'String.valueOf()' - Sie brauchen, um eine sinnvolle impl der toString () - Methode des Objekts arg.
  • Vielen Dank, bearbeitet.
InformationsquelleAutor stommestack | 2014-05-18
Schreibe einen Kommentar