Wie konvertieren von Karte<Objekt> Map<String, String> in java?
Habe ich die Karte vom Typ Object, die ich brauche, um zu konvertieren, diese Karte in den Typ String.
Map<String, String> map = new HashMap<String, String>();
Properties properties = new Properties();
properties.load(instream);
Kann jede Stelle sagen Sie mir bitte, wie die Zuweisung der Eigenschaften zu den oben anzeigen?
Dank & Grüße,
Msnaidu
- Welche Art von Objekt ist
Properties
? - prüfen Sie das stackoverflow.com/a/3958306/1862502
- Ich denke, es ist sehr wahrscheinlich ot ein
java.util.Properties
. - ja, du hast Recht.
- möglich, Duplikat der Konvertieren von java.util.Eigenschaften HashMap<string,string>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der sauberste Weg, um die Eigenschaften hinzufügen auf der Karte wäre (nach deinem Beispiel):
Dies funktioniert gut, in diesem speziellen Fall, weil die
Properties
Objekt ist eine Karte mit String-Schlüsseln und-Werten diegetProperty
Methode deutlich macht. Es ist nur erklärt wieMap<Object, Object>
für schreckliche rückwärts-Kompatibilitätsgründen.Mithilfe der Eigenschaften-spezielle Methoden, die eher als die Behandlung dies als nur ein
Map<Object, Object>
können Sie füllen Sie IhreMap<String, String>
mit perfekter Typ-Sicherheit (anstatt zu casten).Können Sie direkt zu konvertieren:
Benutze ich auch gerne-utility-Methoden mit Typ-Argumente zu gehen um generische Typ Invarianz und einige "downcasting" oder "upcasting" (wenn ich WEIß, dass es sicher ist, dies zu tun). In diesem Fall:
Dann schreiben Sie
Weil wir wissen dass die Eigenschaften einer String-auf-String mapping schon, es speichern, es zu tun mit rawtype und unchecked conversion. Hinterlasst einfach ein Kommentar:
Map<String, String>
weil Sie implementiert die SchnittstelleMap<Object, Object>
.Mit Java 8 und die Zugabe von Streams, ich schlage vor, Sie verwenden die APIs Steam bietet
Hier, wir unter der Annahme, dass die einzelnen Werte eigentlich sind String-Objekte, die casten zu einem String sollte sicher sein:
Nun, wenn wir nicht sicher sind, dass alle element sind
String
ein, und wir möchten, filtern Sie die Schlüssel/Werte-mitnull
:Durchlaufen Map-Objekt, nehmen k v, stellen Sie die Zeichenfolge und legen Sie es auf eine Karte-String.