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;
}
, "downcasting" "upcasting" ( , ). :
@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);