在 Java 中使 Hashtable 不可变且只读

出于安全原因,有时需要更改访问权限以避免错误修改。这就是为什么 Java 放置了一个方法,使我们的 Hashtable 无法进行写入,或者换句话说,一个无法在只读中修改的 Hashtable.

要更改访问权限,您只需要调用 Collections 类的方法 java.util.Collections.unmodifiableMap(地图地图).

公共静态地图unmodifiableMap(Map<? 扩展 K,? 扩展 V> m):此方法返回无法编辑的不可变 Hashtable 视图。

以下示例演示了java.util.Collections.unmodifiableMap().

import java.util.Collections;
导入 java.util.Hashtable;
import java.util.Map;

public class Unmodifiable_Hashtable {
public static void main(String[] s) {
Hashtable hashtable = new Hashtable();
hashtable.put(1”, val1”);
hashtable.put(2”, val2”);
hashtable.put(3”, val3”);

Map m = Collections.unmodifiableMap(hashtable);

m.put(4”, val4”);

System.out.println(m);
}
}
编译并执行上述代码后,会产生如下结果:

线程 main” java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableMap.put(Unknown Source)
at HashTable.Unmodifiable_Hashtable.main(Unmodifiable_Hashtable.java:16)
References:
java.util.Collections.unmodifiableMap() 方法