我还有最后一个问题一题

9.请看一下代码:
Map map=new HashMap();
map.put(“tom”,123.6);
map.put(“jim”,234.5);
map.put(“terry”,45.3);
《插入代码》
《插入代码》处要实现的功能是把key为“jim”的value值在原有数字的基础上添加100
A.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);
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有

参考资料

 

随机推荐