日期:2014-05-19  浏览次数:20848 次

java 遍历循环赋值问题(在线等)
Iterator it = map.keySet().iterator();
while (it.hasNext()) {
String title = (String) it.next();
if ("人均营业收入_本期".equals(title)) {
po.setRjyysr_bq(new BigDecimal(map.get(title).replace(
",", "")));
} else if ("人均营业收入_年累计".equals(title)) {
po.setRjyysr_nlj(new BigDecimal(map.get(title).replace(
",", "")));
} else if ("人均营业收入_预算完成率".equals(title)) {
po.setRjyysr_yswcl(new BigDecimal(map.get(title).replace(",",
"")));
} else if (StringUtils.equals("人均营业成本_本期", title)) {
po.setRjyycb_bq(new BigDecimal(map.get(title).replace(
",", "")));
} else if (StringUtils.equals("日期", title)) {
Calendar cal = Calendar.getInstance();
po.setDate1(cal.getTime());
} else if (StringUtils.equals("人均营业成本_年累计", title)) {
po.setRjyycb_nlj(new BigDecimal(map.get(title).replace(
",", "")));
} else if (StringUtils.equals("人均营业成本_预算完成率", title)) {
po.setRjyycb_yswcl(new BigDecimal(map.get(title).replace(",",
"")));
} else if (StringUtils.equals("人均利润总额_本期", title)) {
po.setRjlrze_bq(new BigDecimal(map.get(title).replace(
",", "")));
} else if (StringUtils.equals("人均利润总额_年累计", title)) {
po.setRjlrze_nlj(new BigDecimal(map.get(title).replace(
",", "")));
} else if (StringUtils.equals("人均利润总额_预算完成率", title)) {
po.setRjlrze_yswcl(new BigDecimal(map.get(title).replace(",",
"")));
} else if (StringUtils.equals("人均净利润_本期", title)) {
po.setRjjlr_bq(new BigDecimal(map.get(title).replace(",", "")));
} else if (StringUtils.equals("人均净利润_年累计", title)) {
po.setRjjlr_nlj(new BigDecimal(map.get(title).replace(
",", "")));
} else if (StringUtils.equals("人均净利润_预算完成率", title)) {
BigDecimal bc=new BigDecimal(map.get(title).replace(",", ""));
po.setRjjlr_yswcl(new BigDecimal(map.get(title).replace(",", "")));

}
}


以上代码 当条件满足的时候就赋值,但是为啥条件满足后赋值完成,然后就不会继续循环遍历了了,然后后天报空指针异常?(测试了 bc这里面是有值的)

------解决方案--------------------
瀑布汗,map 都知道具体的 key 了,干嘛还要循环,直接在 map 取值后赋值就可以了。
------解决方案--------------------
map.put(key,value);
------解决方案--------------------
异常信息贴出来看下