java编程HashMap的问题,类型转换有问题,谁能解释啊?
HashMaphm=newHashMap();Empemp1=newEmp("s001","aaa",3.4f);Empemp2=newEmp("s002","zkk",...
HashMap hm=new HashMap();
Emp emp1=new Emp("s001","aaa",3.4f);
Emp emp2=new Emp("s002","zkk",2.3f);
//将emp放入到hm
hm.put("s001","emp1");
hm.put("s002","emp2");
//如果你要查找编号是 s002
if(hm.containsKey("s001"))
{
System.out.println("有该员工");
//取出该员工,键<-->值
Emp emp=(Emp)hm.get("s001");
System.out.println("名字是:"+emp.getName());
}
else
{
System.out.println("没有该员工");
}
//遍历HashMap中所有的Key和value
Iterator it=hm.keySet().iterator();
while(it.hasNext())
{
//取出Key
String key=it.next().toString();
//通过key取出value
Emp emp=(Emp)hm.get(key);
System.out.println("名字是:"+emp.getName());
}
Emp类已经建好了,没有问题,关键在Emp emp=(Emp)hm.get(key);这里,运行老是出现错误,也不知道怎么改泛型啊。。求助!! 展开
Emp emp1=new Emp("s001","aaa",3.4f);
Emp emp2=new Emp("s002","zkk",2.3f);
//将emp放入到hm
hm.put("s001","emp1");
hm.put("s002","emp2");
//如果你要查找编号是 s002
if(hm.containsKey("s001"))
{
System.out.println("有该员工");
//取出该员工,键<-->值
Emp emp=(Emp)hm.get("s001");
System.out.println("名字是:"+emp.getName());
}
else
{
System.out.println("没有该员工");
}
//遍历HashMap中所有的Key和value
Iterator it=hm.keySet().iterator();
while(it.hasNext())
{
//取出Key
String key=it.next().toString();
//通过key取出value
Emp emp=(Emp)hm.get(key);
System.out.println("名字是:"+emp.getName());
}
Emp类已经建好了,没有问题,关键在Emp emp=(Emp)hm.get(key);这里,运行老是出现错误,也不知道怎么改泛型啊。。求助!! 展开
1个回答
2013-11-02
展开全部
hm.put("s001","emp1");
hm.put("s002","emp2");
放进去的只是两个字符串、不是对象Emp的实例
hm.put("s002","emp2");
放进去的只是两个字符串、不是对象Emp的实例
追问
那要怎么改啊??谢谢。。
追答
还不容易,把两个emp1、emp2的双引号去掉呀
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询