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

摘要:
现在我需要在一个类中放置一个HashMap,并在其中放置一些数据。每当我想从数据库中获取数据时,我首先查找HashMap,看看它是否已经存在。如果它存在,我直接提取它。如果它不存在,我从数据库中提取数据,然后将其放入HashMap中。我应该将HashMap设置为类的静态变量吗?常见的声明方法:Java代码publicfinalstaticMapmap=newHashMap();静态{map.pput;map.put;}一种简单的方法:Java代码public static Mapmap=newHashMap(){{put;put;}};此方法相当于重载HashMap的匿名实现。原始HashMap中添加了一个匿名构造方法。
我现在需要在一个类里面放一个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"); 

免责声明:文章转载自《在java 中一种简单方式的声明静态Map常量的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【九天教您南方cass 9.1】 05 打印出图ORACLE SQLloader详细语法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[Android Security] 静态分析Android程序——smali文件解析

cp : https://blog.csdn.net/hp910315/article/details/51823236 cp : http://www.jb51.net/softjc/119036.html 静态分析Android程序的两种方法: 一、阅读反编译生成的Dalvik字节码。 1、使用文本编辑器阅读baksmali反编译生成的smali文件...

Java多线程中static变量的使用

线程,是我们项目中绕不过的重点领域。提到线程,就常会听到线程安全的术语。那什么是线程安全呢?通俗点说,就是线程访问时不产生资源冲突。其实,这是一个有点难以定义的概念,不是很容易让人一听就懂的概念。“一个类可以被多个线程安全调用就是线程安全的”《Java并发编程实践》。     来说说静态变量、实例变量、局部变量在多线程下的安全问题吧!     (一)静态变...

(三)Java 高级特性

第一章 集合框架 集合框架是为表示和操作集合而规定的一种统一的标准系结构。集合框架都包含三个块内容对外的接口、接口的实现和集合运算的算法。 接口:表示集合的抽象数据类型,如Collection、List、Set、Map、Iterator。 实现:集合框架中接口的具体实现,如ArrayList、LinkedList、HashMap、HashSet。 算法:...

java面试宝典

相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象. 多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点: 可替换性:多态对已存在代码具有可替换性. 可扩充性:增加新的子类不影响已经存在的类结构. 接口性:多态是超累通过方法签名...

习题解答chapter02

1. 对象与对象引用的区别是什么? 创建案例代码: public class Study{ // 默认构造方法 public Study{ } } 对象创建操作Study temp = new Study();语句解读: 左边的“Study temp”创建了一个Stu...

RedisTemplate访问Redis数据结构(三)——Hash

HashOperations提供一系列方法操作hash。首先初始化spring工厂获得redisTemplate和opsForHash private RedisTemplate<String,Object> redisTemplate; private HashOperations<String,String,Objec...