我有一个Object类型的Map,我需要将这个map转换为String类型。
Map<String, String> map = new HashMap<String, String>();
Properties properties = new Properties();
properties.load(instream);
任何人都可以告诉我,如何将属性分配给上面的 map 吗?
谢谢和问候, 姆奈杜
最佳答案
将属性添加到 map 的最简洁方法是(按照您的示例):
for (String propName : properties.stringPropertyNames()) {
map.put(propName, properties.getProperty(propName));
}
这在这种特殊情况下效果很好,因为 Properties
对象实际上是一个包含字符串键和值的映射,如 getProperty
方法说清楚了。它仅声明为 Map<Object, Object>
由于可怕的向后兼容性原因。
通过使用特定于属性的方法,而不是将其视为只是 Map<Object, Object>
,您可以填写您的 Map<String, String>
具有完美的类型安全性(而不是必须强制转换)。
关于java - 如何在java中将Map<Object, Object>转换为Map<String, String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17208346/