如果我有一個HashMap<String,Object>
有三個條目<String,String>
和一個是<String,Integer>
是否有方法可以輕鬆地將它「投射」到HashMap<String,String>
?現在我和做一個新的HashMap並複製所有的值,以便我可以在複製期間轉換整數。將整數轉換爲字符串中的字符串,對象哈希映射
1
A
回答
2
應該可以投射它,但在嘗試從地圖中檢索其中一個整數時會出現異常。
我想你問的是投射hashmap的內容,在這種情況下,值,所以他們都出來的字符串,這不會發生。
最好的解決方案是在首先填充地圖時將整數轉換爲字符串。
0
,就可以把原來的地圖,無需複製:
map.put("intKey", map.get("intKey").toString());
Map<String, String> fixedMap = (Map) map;
它看起來像什麼是錯的與您的設計雖然。最好修復將整數推入地圖的代碼,以便您不必在下游處理這個技巧。
0
像這樣的東西應該更容易:
Class<? extends Object> className = obj.getClass();
if (className.getName().contains("String")){
//add the object
}else {
//convert it to String and then add to HashMap
}
0
如果您使用的是Java 8中,您可以使用的forEach與BiConsumer。
您可以在代碼看看下面
Map<String, Object> map = new HashMap<>();
map.put("a", "a");
map.put("b", "b");
map.put("1", Integer.valueOf(1));
map.forEach((k, v) -> map.put(k, v.toString()));
線map.forEach((k, v) -> map.put(k, v.toString()));
地圖中所有值都是字符串之後。這個循環仍然存在,但是你正在使用語言功能/資源。
相關問題
- 1. 將轉換器映射字符串轉換爲字符串
- 2. 字符串哈希轉換
- 3. 將字符串轉換爲哈希字符串:值格式
- 4. 將SHA256哈希字符串轉換爲Python中的SHA256哈希對象
- 5. 紅寶石哈希:不能將字符串轉換爲整數
- 6. 嵌套字符串哈希映射
- 7. 將字符串轉換爲映射?
- 8. 將靜態二維字符串數組轉換爲哈希映射
- 9. 如何哈希轉換爲字符串
- 10. 將md5哈希字節數組轉換爲字符串
- 11. 轉換哈希字符串在Ruby中
- 12. 將字符串對象轉換爲Javascript中的字符串原始字符串
- 13. 在對象中將空字符串轉換爲空字符串
- 14. 的Perl $字符串哈希錶轉換
- 15. 將哈希映射關鍵字與字符串進行比較
- 16. 將字符串映射爲替換字符串的算法
- 17. SHA-1的字符串(GIT-哈希對象字符串)
- 18. 將js對象轉換爲字符串映射(與通常的字符串對象相反)
- 19. 如何將md5哈希字符串轉換爲原始二進制字符串?
- 20. Laravel將整數映射到字符串
- 21. 將Ruby哈希字符串轉換爲Python字典
- 22. 將哈希表中的鍵轉換爲字符串列表
- 23. 如何將字符串轉換爲哈希值浮點數
- 24. 將字符串轉換爲元組,哈希或數組
- 25. 將.net字符串對象轉換爲base64編碼字符串
- 26. 如何將字符串對象轉換爲字符串[]?
- 27. 將字符串ID強制轉換爲字符串對象
- 28. 哈希字符串
- 29. 將字符串轉換爲gson對象
- 30. 將字符串對象轉換爲istringstream
不清楚您正在嘗試解決的問題。您是否嘗試過使用Map並將整數作爲字符串放在首位? –
將'Integer'作爲'String'。也可能有助於創建一個函數,它可以識別該字符串是否也是一個整數。 – ifly6