久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

具有字節(jié)數(shù)組鍵和字符串值的 HashMap - containsKey

HashMap with byte array key and String value - containsKey() function doesn#39;t work(具有字節(jié)數(shù)組鍵和字符串值的 HashMap - containsKey() 函數(shù)不起作用)
本文介紹了具有字節(jié)數(shù)組鍵和字符串值的 HashMap - containsKey() 函數(shù)不起作用的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我正在使用 HashMap: byte[] 鍵和字符串值.但我意識(shí)到,即使我使用

I'm using a HashMap: byte[] key and String value. But I realize that even I put the same object (same byte array and same string value) by using

myList.put(TheSameByteArray, TheSameStringValue)

到HashMap中,表還是會(huì)插入一個(gè)新的具有不同HashMapEntry的對(duì)象.那么函數(shù) containsKey() 就不能工作了.

into HashMap, the table still inserts a new object with different HashMapEntry. Then function containsKey() cannot work.

有人可以為我解釋一下嗎?我怎樣才能解決這個(gè)問(wèn)題?謝謝.(Android Java)

Can someone explains this for me? How can I fix this? Thanks. (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;
}

推薦答案

一個(gè) byte[](或任何數(shù)組)不能作為 HashMap,因?yàn)閿?shù)組不會(huì)覆蓋equals,所以兩個(gè)數(shù)組只有在引用同一個(gè)對(duì)象時(shí)才會(huì)被認(rèn)為是相等的.

A byte[] (or any array) can't work properly as a key in a HashMap, since arrays don't override equals, so two arrays will be considered equal only if they refer to the same object.

您必須將您的 byte[] 包裝在一些覆蓋 hashCodeequals 的自定義類中,并將該自定義類用作HashMap 的關(guān)鍵.

You'll have to wrap your byte[] in some custom class that overrides hashCode and equals, and use that custom class as the key to your HashMap.

這篇關(guān)于具有字節(jié)數(shù)組鍵和字符串值的 HashMap - containsKey() 函數(shù)不起作用的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Why would you choose Android API over Google APIs in the SDK on Eclipse?(為什么在 Eclipse 的 SDK 中選擇 Android API 而不是 Google API?)
Couchbase Bucket authentication error(Couchbase 存儲(chǔ)桶身份驗(yàn)證錯(cuò)誤)
admob 6.2.1 nullpointer exception(admob 6.2.1 空指針異常)
How to setup SDK in IntelliJ IDEA?(如何在 IntelliJ IDEA 中設(shè)置 SDK?)
My phone cannot be detected in eclipse to test run(eclipse 無(wú)法檢測(cè)到我的手機(jī)進(jìn)行試運(yùn)行)
platform-toolsaapt.exe directory missing in android SDK(android SDK 中缺少 platform-toolsaapt.exe 目錄)
主站蜘蛛池模板: h片在线免费观看 | 中文字幕一区在线观看 | 一级片在线免费观看 | 特级淫片裸体免费看 | 国产午夜一区 | 久久视频一区二区 | 五月婷在线| 久久伊人网站 | 日韩一级二级三级 | 清清草视频 | 色噜噜狠狠一区二区三区果冻 | 91国产视频在线观看 | 中文在线字幕免费观看 | 97在线免费视频 | 狠狠干欧美 | 成人国产精品免费观看 | 国产精品久久久久久亚洲影视 | 一区二区不卡视频 | 欧美日韩免费 | 日韩中文字幕在线播放 | 在线观看三级 | 性巴克成人免费网站 | 男女啪啪无遮挡 | 日韩中文字幕在线 | 亚洲三级视频 | 午夜激情影院 | 成人午夜网 | 黄色小视频免费看 | 国产操操操 | 久久久久久久久久久久久久久久久久久 | 麻豆av网站 | 精品国产乱码久久久久久蜜臀网站 | 青青草精品视频 | 成人欧美一区二区三区黑人免费 | av黄色网 | 黄色av免费观看 | 久久精品国产成人av | 成人精品免费视频 | www.一区| 久久久在线 | 国产黄a三级三级三级看三级男男 |