您好,登錄后才能下訂單哦!
本篇內容介紹了“java.util.HashMap$Values cannot be cast to java.ut問題怎么解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1.HashMap<String, Map> map1 = new HashMap<>();
獲取值集合:map1.values()
默認返回值是 Collection
想把它轉換為List,直接用了強轉 List values = (List) map1.values();
然后幸運的就報錯了。尷尬。
2.Collection轉list兩種方法
ArrayList的構造器:
ArrayList<Map> results = new ArrayList<>(map1.values());
先轉數組在轉List
List<T> list=(List<T>) Arrays.asList(map1.values().toArray());
日常我們在使用redisTemplate對象操作redis數據的可能會出現java.util.LinkedHashMap cannot be cast to java.lang.String的異常,說的是無法將java.util.LinkedHashMap強制轉換為java.lang.String
在獲取到redis中數據的時候不要強制轉換為某一個java對象,例如下面我獲取數據的時候強制轉換為了String類型,這種操作當然會報錯。
就好比把一個不確定的類型強制轉換為String他坑定報錯。
1.獲取redis中的數據就使用Objec類型接收數據
2.在使用阿里巴巴fastjson將獲取到的Object類型對象轉換為json格式字符串,方法:JSON.toJSONString(對象)
3.在將json格式對象轉換為你需要的java對象,問題即可迎刃而解。方法:JSON.parseObject(json,要轉換的類的字節碼)
“java.util.HashMap$Values cannot be cast to java.ut問題怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。