0

私はオブジェクト型のマップを持っています。このマップを文字列型に変換する必要があります。

Map<String, String> map = new HashMap<String, String>();    
Properties properties = new Properties();    
properties.load(instream);     

プロパティを上記のマップに割り当てる方法を教えてください。

よろしくお願いします、 ムナイドゥ

4

7 に答える 7

3
Map<String, String> properties2Map(Properties p) {
            Map<String, String> map = new HashMap<String, String>();
            for(Map.Entry<Object, Object> entry : p.entrySet()) {
                String key = (String) entry.getKey(); //not really unsafe, since you just loaded the properties
                map.put(key, p.getProperty(key));
            }
            return map;
}

また、型引数を持つユーティリティ メソッドを使用して、ジェネリック型の不変性を回避し、"ダウンキャスト" または "アップキャスト" を行うことも好きです (そうしても安全だとわかっている場合)。この場合:

@SuppressWarnings("unchecked")
<A, B extends A> Map<B, B> downCastMap(Map<A,A> map) {
    return (Map<B, B>)map;
}

それからあなたは書くことができます

Properties p = ...
Map<String, String> map = downCastMap(p);
于 2013-06-20T08:13:21.010 に答える
0
Map<String,String> getPropInMap(Properties prop){       
    Map<String, String> myMap = new HashMap<String, String>();
    for (Object key : prop .keySet()) {
        myMap.put(key.toString(), prop .get(key).toString());
    }       
    return myMap;
}
于 2013-06-20T08:11:07.587 に答える