类初始化时定义一个不可改变的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)
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)
相关文章推荐
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 第十章 Scala 容器基础(六):理解定义一个变量指向一个不可变集合
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- Java集合的特点、定义及Map集合的遍历方式
- 定义一个数组days,将其初始化今年每月的天数,编写一段程序,将每月的天数打印出来,
- IFields Interface 定义一个字段集合对象
- java基础数组的定义与初始化以及集合框架的应用
- 转:定义一个数组days,将其初始化今年每月的天数,编写一段程序,将每月的天数打印出来, 分类: c语言经典题
- 一个处理多值Map集合的算法
- 关于java里面Collection包括List,Map等初始化内部匿名类和泛型的一个例子