您的位置:首页 > 其它

类初始化时定义一个不可改变的Map集合

2014-07-09 22:41 197 查看

import java.util.HashMap;

import java.util.Map;

public class myMapUpdate{

private static final Map<String,Object> params = new HashMap<String,Object>();

static {

params.put("001", "001");

params.put("002", "002");

params.put("003", "003");

}

public static void main(String[] args){

System.out.println(params.get("001"));

params.put("001", "modify");

System.out.println(params.get("001"));

}

}

运行结果:

001

modify

因为final修饰的map 不可以重新= new 对象,如果想让map中的元素不可修改,可通过java.util.Collections工具类进行修改

import java.util.Collections;

import java.util.HashMap;

import java.util.Map;

public class myMapUpdateCollections {

private static Map<String,Object> map = new HashMap<String,Object>();

static {

map.put("001", "001");

map.put("002", "002");

map.put("003", "003");

map = Collections.unmodifiableMap(map);

}

public static void main(String[] args) {

System.out.println(map.get("001"));

map.put("001", "modify");

System.out.println(map.get("001"));

}

}

运行结果:

001

Exception in thread "main" java.lang.UnsupportedOperationException

at java.util.Collections$UnmodifiableMap.put(Unknown Source)

at unModifyMapTest.myMapUpdateCollections.main(myMapUpdateCollections.java:18)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐