相关疑难解决方法(0)

带字节数组键和字符串值的HashMap - containsKey()函数不起作用

我正在使用HashMap:byte []键和String值.但我意识到,即使我使用相同的对象(相同的字节数组和相同的字符串值)

myList.put(TheSameByteArray, TheSameStringValue)
Run Code Online (Sandbox Code Playgroud)

在HashMap中,表仍然插入一个具有不同HashMapEntry的新对象.然后函数containsKey()无法工作.

有人能为我解释一下吗?我怎样才能解决这个问题?谢谢.(Android Java)

@Override public boolean containsKey(Object key) {
    if (key == null) {
        return 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;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

java android list hashmap containskey

6
推荐指数
1
解决办法
4120
查看次数

标签 统计

android ×1

containskey ×1

hashmap ×1

java ×1

list ×1