正如我们所知,"final"关键字在Java中的作用是什么。在声明变量时使用"final",我们必须初始化该变量,例如"final int a = 10;"。 我们无法更改"a"的值。但如果我们使用HashTable,即使将其声明为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哈希表声明为final。但如果我尝试添加更多元素,它会被接受。
MYHASH.put("NEW DATA", 256);
现在,“NEW DATA”已添加到哈希表中。 我的问题是,为什么即使声明为final,它也允许添加?
java.util.Date
或java.awt.Point
),则它仍然是可变的。 - Tom Hawtin - tackline