下面的代碼是刪除Hashtable中元素的安全方法嗎?刪除迭代中的散列表元素
Enumeration keys = siCache.keys(); //siCache is Hashtable
while(keys.hasMoreElements())
{
String k = (String) keys.nextElement();
Object v = siCache.get(k);
if(condition) siCache.remove(k);
}
我不明白爲什麼元素會被轉換成String。 'HashTable.remove'需要鍵本身,而不是'toString'。如果你的條件需要'字符串'出於某種原因,那很好,但不要使用ity作爲'HashTable.remove'的示例。 – 2011-03-04 06:18:52
似乎。有沒有什麼特別的原因,但這不安全? – rkg 2011-03-04 06:21:34
@Jon_darkstar問:toString()與cast到String有什麼關係?答:沒有。 – EJP 2011-03-04 06:36:52