在java 中一种简单方式的声明静态Map常量的方法

我现在需要在一个类里面放一个HashMap,往里面放一些数据,每次要从数据库中取数据的时候先查找HashMap,看是否已经存在,若存在就直接提取,若不存在就从数据库中抽取数据之后再放到HashMap中,那是否应该把HashMap设置为类的静态变量啊?

若这样设置public static HashMap hmData ;就无法往hmSpace 中加入数据了,是否应该New一个对象呢?
 

常用的声明方式(使用静态代码块):

Java代码 
  1. public final static Map map = new HashMap();  
  2. static {  
  3.     map.put("key1", "value1");  
  4.     map.put("key2", "value2");  
  5. }  



一种简约的方式:

Java代码 
  1. public final static Map map = new HashMap() {{    
  2.     put("key1", "value1");    
  3.     put("key2", "value2");    
  4. }};  

这种方式,相当于重载HashMap的一个匿名实现。向原有的HashMap中添加了一个匿名构造方法。 


另外附加一个List/Set变量的声明方式:

Java代码 
  1. public final static List list = Arrays.asList("elment1", "element2"); 
原文地址:https://www.cnblogs.com/wzhanke/p/4817765.html