为什么将HashMap的一个实例放入Set中,再用iterator()取出会出现ClassCastException?(有代码) entrySet()里面保存的并不是Armor,你想,HashMap里的Armor是有可能重复的,怎么能把他们的集合转成set呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 entrySet()里放的是Map.Entry你想要的是Value的set吧,应该用armors.Values.iterator() 换成了armors.Values.iterator()可以用,谢谢另一个问题,armors里是有重复,我放入Set中的另一目的也是为了实现这样一个目的:如果1个player身上有多个重复的armor,那么只能获取1个armor的defence.这样的话我把armors.values()放入Set会消除重复元素吗?但是我这样写: public int getDefence() { Set values = (Set)armors.values(); for(Iterator iter = values.iterator(); iter.hasNext(); ) { Armor armor = (Armor)iter.next(); defence += armor.getDefence(); } return defence; }仍然有类转型异常 to whyxx(永远成不了高手) ========================value能是set吗? Collection values = armors.values(); //如果你非要用entrySet...... public int getDefence() { Set values = armors.entrySet(); for(Iterator iter = values.iterator(); iter.hasNext(); ) { Map.EntrySet entry=(Map.EntrySet)iter.next(); Armor armor = (Armor)entry.getValue(); defence += armor.getDefence(); } return defence; } 一条正则表达式,为什么报错,请高手指点下。 checkBox velue 为中文,转码问题 swing与eclipse中的类兼容问题! 2008年应届生求职java相关工作 request取值与"%"号 一个非常经典的Java程序(纯属娱乐不能编译) 淮南联合大学,jave 在标准java程序中如何限制一个文本框只能输入数字? 今天生日&&穿四个裤衩了,高兴,狂散分! ^_^ 难题,希望大家帮我解决,谢谢,在线等候 简单问题,加散分! 一个带JtextArea的JDialog。。和初学者共享。。
你想要的是Value的set吧,应该用armors.Values.iterator()
armors里是有重复,我放入Set中的另一目的也是为了实现这样一个目的:如果1个player身上有多个重复的armor,那么只能获取1个armor的defence.这样的话我把armors.values()放入Set会消除重复元素吗?但是我这样写:
public int getDefence() {
Set values = (Set)armors.values();
for(Iterator iter = values.iterator(); iter.hasNext(); ) {
Armor armor = (Armor)iter.next();
defence += armor.getDefence();
}
return defence;
}
仍然有类转型异常
========================
value能是set吗?
public int getDefence() {
Set values = armors.entrySet();
for(Iterator iter = values.iterator(); iter.hasNext(); ) {
Map.EntrySet entry=(Map.EntrySet)iter.next();
Armor armor = (Armor)entry.getValue();
defence += armor.getDefence();
}
return defence;
}