溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java.util.HashMap$Values?cannot?be?cast?to?java.ut問題怎么解決

發(fā)布時間:2023-03-22 09:26:32 來源:億速云 閱讀:281 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“java.util.HashMap$Values cannot be cast to java.ut問題怎么解決”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

    java.util.HashMap$Values cannot be cast to java.util.List

    想獲取map的值集合,將之轉(zhuǎn)換為List

    1.HashMap<String, Map> map1 = new HashMap<>();

    獲取值集合:map1.values()

    默認返回值是 Collection

    想把它轉(zhuǎn)換為List,直接用了強轉(zhuǎn) List values = (List) map1.values();

    然后幸運的就報錯了。尷尬。

    2.Collection轉(zhuǎn)list兩種方法

    ArrayList的構(gòu)造器:

    ArrayList<Map> results = new ArrayList<>(map1.values());

    先轉(zhuǎn)數(shù)組在轉(zhuǎn)List

    List<T> list=(List<T>) Arrays.asList(map1.values().toArray());

    java.util.LinkedHashMap cannot be cast to java.lang.String

    日常我們在使用redisTemplate對象操作redis數(shù)據(jù)的可能會出現(xiàn)java.util.LinkedHashMap cannot be cast to java.lang.String的異常,說的是無法將java.util.LinkedHashMap強制轉(zhuǎn)換為java.lang.String

    問題

    在獲取到redis中數(shù)據(jù)的時候不要強制轉(zhuǎn)換為某一個java對象,例如下面我獲取數(shù)據(jù)的時候強制轉(zhuǎn)換為了String類型,這種操作當然會報錯。

    就好比把一個不確定的類型強制轉(zhuǎn)換為String他坑定報錯。

    java.util.HashMap$Values?cannot?be?cast?to?java.ut問題怎么解決

    正確的解決方案

    1.獲取redis中的數(shù)據(jù)就使用Objec類型接收數(shù)據(jù)

    2.在使用阿里巴巴fastjson將獲取到的Object類型對象轉(zhuǎn)換為json格式字符串,方法:JSON.toJSONString(對象)

    3.在將json格式對象轉(zhuǎn)換為你需要的java對象,問題即可迎刃而解。方法:JSON.parseObject(json,要轉(zhuǎn)換的類的字節(jié)碼)

    java.util.HashMap$Values?cannot?be?cast?to?java.ut問題怎么解決

    “java.util.HashMap$Values cannot be cast to java.ut問題怎么解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

    向AI問一下細節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI