当前位置: 代码迷 >> Java相关 >> 这一题有什么有关问题
  详细解决方案

这一题有什么有关问题

热度:471   发布时间:2013-02-25 21:46:50.0
这一题有什么问题
Java code
9.请看一下代码:       Map map=new HashMap();        map.put(“tom”,123.6);        map.put(“jim”,234.5);        map.put(“terry”,45.3);     《插入代码》《插入代码》处要实现的功能是把key为“jim”的value值在原有数字的基础上添加100A.map.put(“jim”,map.get(“jim”)+100);B.map.set(“jim”,map.get(“jim”)+100);C.map.put(“jim”,234.5);D.map.set(“jim”,234.5);//为什么拷贝到eclipse里a,b都是错的??


------解决方案--------------------------------------------------------
首先,B,D是错的,因为Map没有set()方法。
A错是因为:map.get(key) 返回的是Object对象。在java中 +号只做2件事情:1.数字的运算;2.合并字符串。 而Object + int这个是不行的。
------解决方案--------------------------------------------------------
可以用泛型来: Map<String, Double> map = new HashMap<String, Double>();
map.put("tom", 123.6);
map.put("jim", 234.5);
map.put("terry", 45.3);

map.put("jim", map.get("jim") + 100);
map.put("jim", 234.5);
  相关解决方案