map结构是键值对的容器,所以包含键和值,你map里面的string是指键还是值,一般利用迭代器进行遍历。
std::map<string,string>类型的定义表示,map 是一种关联容器,map 中的每个元素是一个 pair,其中 first 是一个 key 类型的值(这里是字符串),而 second 则是这个 key 对应的 value 类型的值(这里也是字符串)。 常用用法如下: 1.添加键值对: map_name[key] = value; 2.访问键值对: value = map_name[key]; 3.遍历: for(auto &iter:map_name) { cout << iter.first << " " << iter.second << endl; } 4.删除元素: map_name.erase(key); 5.检查元素是否存在: if(map_name.find(key) != map_name.end()) { //found element }。
Bigdecimal 下有此方法 floatValue(),转换成float类型,然后再转换成String。比如:
b 是 Bigdecimal的一个实例。 那么 b.floatValue() + "", 这个就是String类型。
sorry,我没看完整你的问题,map中的get()方法返回map中存放的value,根据你用的String.valueOf(cmap.get("ID")方法,你查文档,这个方法返回值就是String类型。而你直接进行强转,就相当于有一个动物这个类转换成植物类。这两个类毫不相干,是无法进行强转的,而你使用这个方法cmap.get("ID").toString(),当value是一个基本数据类型的时候,是没有toString()方法的。 你去查文档,String.valueOf( int i ),String.valueOf( float f) ,String.valueOf( Object o).....所以valueOf方法能成功。
直接map.toString()就string格式啊。
要不就
StringBuffer sb =new StringBuff();。
foreach(Map.Entity<String,String> en in map.getEntitySet()) {。
//取出key value 拼接字符串。
sb.append(en.getkey()).apend(",").append(en.getValue()).append(",");。
纯手打 真心冷啊 加班的人伤不起啊。
Map<String, String> hashMap = new HashMap<String, String>();。
hashMap.put("cn","中国");。
hashMap.put("us","米国");。
hashMap.put("en","英国");。
/**
* Map 集合没有方法转成字符串,
* 可以按照自己的方法将其拼接成字符串。
* 1、遍历map集合。
*/
String str = "";//用于存放遍历出来的字符串。
Iterator iterator = hashMap.keySet().iterator();。
while (iterator.hasNext()) {。
//2、拼接字符串。
str += hashMap.get(iterator.next()).toString()+",";。
}
System.out.println(str);。
原文地址:http://www.qianchusai.com/map%E8%BD%ACstring%E5%AD%97%E7%AC%A6%E4%B8%B2.html