先说说我要实现的要求:我要一个Map,这个Map是常量,但是它要进行初始化,填充数据。而且这个Map要可以重用,实现优雅点的
以上是我写的一个方式,总觉得别扭,大家一块看看有什么更好的方法。
2010年6月更新:
这个东西看着确实不是东西,有静态初始化块了,没必要有getter了,实在是。。。
public class ApproveMap {
private static Map<String, String> approveCodeMap = new HashMap<String, String>();
/**
* @return
*/
public static Map<String, String> getApprove() {
synchronized (approveCodeMap) {
if (approveCodeMap.isEmpty())
setApprove();
}
return approveCodeMap;
}
private static void setApprove() {
/**
*
*/
approveCodeMap.put("101102", "11_0003_0001");
approveCodeMap.put("101103", "11_0003_0004");
approveCodeMap.put("101104", "11_0003_0005");
approveCodeMap.put("101105", "11_0003_0002");
approveCodeMap.put("101106", "11_0003_0003");
approveCodeMap.put("101107", "11_0003_0006");
}
}
以上是我写的一个方式,总觉得别扭,大家一块看看有什么更好的方法。
2010年6月更新:
这个东西看着确实不是东西,有静态初始化块了,没必要有getter了,实在是。。。
public class ApproveMap {
public static final Map<String, String> approveCodeMap = new HashMap<String, String>();
static {
/**
*
*/
approveCodeMap.put("101102", "11_0003_0001");
approveCodeMap.put("101103", "11_0003_0004");
approveCodeMap.put("101104", "11_0003_0005");
approveCodeMap.put("101105", "11_0003_0002");
approveCodeMap.put("101106", "11_0003_0003");
approveCodeMap.put("101107", "11_0003_0006");
}
}