急需帮忙。。。

qiongfengcai 2009-09-29 12:20:34
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
public class MyHashMap{
public static void main(String[] args){
HashMap hm = new HashMap();
hm.put(1,"Eric" );
hm.put( 2,"arfdc");
hm.put( 3,"abffc");
hm.put(4,"abhdc");
hm.remove(3);
hm.put(5,"coco");
Set s=hm.keySet();
Iterator ite=s.iterator();
while(true){
if(false==ite.hasNext()){
break;
}
String key=(String)ite.next();
int value=(Integer)hm.get(key);
System.out.println(key+"-"+value);
}

}
}


怎么这个总是运行不了呢。。
请帮忙解决一下。。。谢谢
...全文
128 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiongfengcai 2009-09-29
  • 打赏
  • 举报
回复
还是不行啊。。。总是提示: MyHashMap.java使用了未经检查或不安全的操作。
jiang5495 2009-09-29
  • 打赏
  • 举报
回复
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
public class MyHashMap{
public static void main(String[] args){
HashMap hm = new HashMap();
hm.put(1,"Eric" );
hm.put( 2,"arfdc");
hm.put( 3,"abffc");
hm.put(4,"abhdc");
hm.remove(3);
hm.put(5,"coco");
Set s=hm.keySet();
Iterator ite=s.iterator();
while(true){
if(false==ite.hasNext()){
break;
}
// String key=(String)ite.next();
Integer key=(Integer)ite.next();
//int value=(Integer)hm.get(key);
String value=(String)hm.get(key);
System.out.println(key+"-"+value);
}

}
}
大家调试还真够快,
loveofmylife 2009-09-29
  • 打赏
  • 举报
回复
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
public class MyHashMap{
public static void main(String[] args){
HashMap hm = new HashMap();
hm.put(1,"Eric" );
hm.put( 2,"arfdc");
hm.put( 3,"abffc");
hm.put(4,"abhdc");
hm.remove(3);
hm.put(5,"coco");
Set s=hm.keySet();
Iterator ite=s.iterator();
while(true){
if(false==ite.hasNext()){
break;
}
Integer key=(Integer)ite.next();
String value=(String)hm.get(key);
System.out.println(key+"-"+value);
}

}
}

测试结果:1-Eric
2-arfdc
4-abhdc
5-coco
你把键和值的顺序搞错了
你的代码
 String key=(String)ite.next();
int value=(Integer)hm.get(key);

你定义的map键是Integer的值是String的
zhoutt1989 2009-09-29
  • 打赏
  • 举报
回复
顶楼上的~
woming66 2009-09-29
  • 打赏
  • 举报
回复
是不是出现ClassCastException拉
String key=(String)ite.next();
int value=(Integer)hm.get(key);


应该是Integer key = (Integer)ite.next();
String value=(String)hm.get(key);

好小子 你正好给些颠倒了
sforiz 2009-09-29
  • 打赏
  • 举报
回复
警告不影响程序运行
woming66 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qiongfengcai 的回复:]
还是不行啊。。。总是提示: MyHashMap.java使用了未经检查或不安全的操作。
[/Quote]

你没使用泛型当然出现警报了!警告不是错误!不影响程序运行!
pgwcumt 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 woming66 的回复:]
是不是出现ClassCastException拉
String key=(String)ite.next();
int value=(Integer)hm.get(key);


应该是Integer key = (Integer)ite.next();
String value=(String)hm.get(key);

好小子 你正好给些颠倒了
[/Quote]

顶!
yubangqi 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qiongfengcai 的回复:]
还是不行啊。。。总是提示: MyHashMap.java使用了未经检查或不安全的操作。
[/Quote]
版本问题
coolbamboo2008 2009-09-29
  • 打赏
  • 举报
回复
是泛型的警告,真正的问题就像楼上说的,颠倒了key和value
APOLLO_TS 2009-09-29
  • 打赏
  • 举报
回复
HashMap< Integer , String > hm = new HashMap< Integer , String >();

lovecj6185 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qiongfengcai 的回复:]
还是不行啊。。。总是提示: MyHashMap.java使用了未经检查或不安全的操作。
[/Quote]
是警告而已
不影响代码正常运行
戒子猪 2009-09-29
  • 打赏
  • 举报
回复
你用的是1.5以上的JDK,你应该报的是警告不是错误
可以参考一下集合和泛型的章节,前段时间刚刚整理的:
http://blog.csdn.net/silentbalanceyh/archive/2009/09/24/4587371.aspx
lifeiscool 2009-09-29
  • 打赏
  • 举报
回复
顶3楼! 好小子,很搞笑..
zy_love 2009-09-29
  • 打赏
  • 举报
回复
顶3楼
closewbq 2009-09-29
  • 打赏
  • 举报
回复
没有关系,只是建议让你使用泛型!
a404125339 2009-09-29
  • 打赏
  • 举报
回复
3楼说的就很好了,可以看看那

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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