如果我有一个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