今天做项目过程中,遇到了个 Properties 转换成Map 的地方
第一时间想到的肯定有以下:
1. 迭代出来 再 put 到 map 中去
2. commons 是否有工具类
可是 由于 Properties 实现了Map 接口, 所以有最最简单的 ,强制转换
package com.feilong.example.util; import java.util.Properties; import java.util.Map; import java.util.HashMap; import java.util.Set; public class PropertiesToMap { public static void main(String[] args) { Properties properties = new Properties(); properties.setProperty("StrictHostKeyChecking", "no"); properties.setProperty("app.version", "1.0"); // Create a new HashMap and pass an instance of Properties. Properties // is an implementation of a Map which keys and values stored as in a string. Map<String, String> map = new HashMap<String, String>((Map) properties); // Get the entry set of the Map and print it out. Set propertySet = map.entrySet(); for (Object o : propertySet) { Map.Entry entry = (Map.Entry) o; System.out.printf("%s = %s%n", entry.getKey(), entry.getValue()); } } }
哥们,其实还有更简单的办法,因为Properties继承了HashTable实现了Map,所以Properties也有entrySet()方法,不需要转成Map再调用Map的entrySet()方法。