日期:2014-05-17  浏览次数:20818 次

关于java Map containsValue的问题,紧急求助
代码:
public static void main(String args[]){
HashMap hs=getSetUpByType(86,2);
List neList=BiUtilBO.getNesByCata(86,4);
for(int i=0;i<neList.size();i++){
MNamedEntity mne=(MNamedEntity)neList.get(i);
System.out.println(mne.getNamedentity()+" "+hs.values()+" "+hs.containsValue(mne.getId())+" "+mne.getId());
}
}
打印结果:
晋中 [386, 387, 388, 389] false 386
榆次 [386, 387, 388, 389] false 387
介休 [386, 387, 388, 389] false 388
太谷 [386, 387, 388, 389] false 389
祁县 [386, 387, 388, 389] false 390
平遥 [386, 387, 388, 389] false 391
灵石 [386, 387, 388, 389] false 392
榆社 [386, 387, 388, 389] false 393
左权 [386, 387, 388, 389] false 394
和顺 [386, 387, 388, 389] false 395
晋阳 [386, 387, 388, 389] false 396
寿阳 [386, 387, 388, 389] false 397
为什么containsValue返回false,明明map.value中包含哪些ID

------解决方案--------------------
hs.containsValue(mne.getId())
换成
hs.containsKey(mne.getId())