在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"); 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM