正如我们所知道的,java中“final”关键字的用途。在将变量声明为final时,我们必须初始化变量。像“final int a = 10;” 我们无法更改“a”的值。但是如果我们使用HashTable,可能会添加一些值,甚至会将HashTable声明为final。在java中创建哈希表作为final
例::
private static final Hashtable<String,Integer> MYHASH = new Hashtable<String,Integer>()
{{ put("foo", 1);
put("bar", 256);
put("data", 3);
put("moredata", 27);
put("hello", 32);
put("world", 65536); }};
现在我宣布MYHASH哈希表决赛。如果我试图添加更多的元素,它接受。
MYHASH.put("NEW DATA", 256);
现在“新数据”被添加到HashTable中。 我的问题是为什么它允许添加甚至声明为最终的????
注意,如果地图的内容是可变的('java.util.Date'或'java.awt.Point',说),那么它仍然是可变的。 –