带有字节数组键和字符串值的HashMap - containsKey()函数不起作用 [英] HashMap with byte array key and String value - containsKey() function doesn't work
本文介绍了带有字节数组键和字符串值的HashMap - containsKey()函数不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用HashMap:byte []键和String值。但我意识到,即使我把相同的对象(相同的字节数组和相同的字符串值)通过使用
myList.put(TheSameByteArray ,TheSameStringValue)
放入HashMap中,表格仍插入一个带有不同HashMapEntry的新对象。然后函数containsKey()不能工作。
有人可以为我解释这个吗?我怎样才能解决这个问题?谢谢。 (Android Java)
@Override public boolean containsKey(Object key){
if(key == null){
返回entryForNullKey!= null;
}
int hash = Collections.secondaryHash(key);
HashMapEntry< K,V> [] tab = table;
for(HashMapEntry< K,V> e = tab [hash&(tab.length-1)];
e!= null; e = e.next){
K eKey = e.key;
if(eKey == key ||(e.hash == hash&& key.equals(eKey))){
return true;
}
}
返回false;
查看全文