我有一个像这样的哈希表:
Hashtable<String, String> ht = new Hashtable<String, String>();
ht.put("A", "one");
ht.put("B", "two");
然后我调用它的values()
方法来获取它的值并存储在 Collection 对象中,如下所示:
Collection<String> col = ht.values();
现在这个集合对象有这些值:
one, two.
然后我打电话给col.add(" three");
这次我得到了这个错误:
Exception in thread "main" java.lang.UnsupportedOperationException.
我检查了 API:
If a collection refuses to add a particular element for any reason other than that it already contains the element, it must throw an exception (rather than returning false)
我添加(“三个”)到集合的值是唯一的,而不是重复的。但是我可以对其进行其他操作,例如remove()
和clear()
操作。
无法调用add()
。为什么不允许添加?