正如我們所知道的,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',說),那麼它仍然是可變的。 –