这一题有什么问题

yhm2046 2012-03-17 12:37:58
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都是错的??
...全文
86 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhm2046 2012-03-17
  • 打赏
  • 举报
回复

//那这题没有正确答案了,只能设定Integer
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class Test09 {

/**HashMap()指向问题
* @param args
*/
public static void main(String[] args) {
Map<String, Double> map = new HashMap();
map.put("jim", 234.5);
// jim指向234.5
System.out.println(map.put("jim", map.get("jim")));
// 更改HashMap指向的值
double d1 = map.get("jim") ;
d1 += 100;
map.put("jim", d1);
System.out.println(map.put("jim", map.get("jim")));
}

}
[Quote=引用 2 楼 snowkingwolf1 的回复:]
可以用泛型来: 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……
[/Quote]
为爱冰封的心 2012-03-17
  • 打赏
  • 举报
回复
可以用泛型来: 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);
为爱冰封的心 2012-03-17
  • 打赏
  • 举报
回复
首先,B,D是错的,因为Map没有set()方法。
A错是因为:map.get(key) 返回的是Object对象。在java中 +号只做2件事情:1.数字的运算;2.合并字符串。 而Object + int这个是不行的。

50,542

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧