本帖最后由 leeleoloo 于 2012-12-27 09:42:21 编辑

解决方案 »

  1.   

    没人么 呜呜呜呜无uwuwuwuw  
      

  2.   

    你这样写的结果是重复的。也就是重复显示第一个。private List<Map<String, Object>> getObjectList(PolicyBO policyBO) {
        List<Map<String, Object>> sourceObjectList = new ArrayList<Map<String, Object>>();
       
        for (int i = 0; i < policyBO.getInsuredBOList().size(); i++) {
     Map<String, Object> sourceObjectMap = new HashMap<String, Object>();//放到循环体内才行
          sourceObjectMap.put("insured", policyBO.getInsuredBOList().get(i));
          // com.ebao.gs.pol.pub.service.upload.constant.UploadingConstants.ENTITY_INSURED
          sourceObjectList.add(sourceObjectMap);
        }
        return sourceObjectList;
      }
      

  3.   

    sourceObjectMap.put("insured", policyBO.getInsuredBOList().get(i));
    添加Map的时候key一直是重复的!
    HashMap:无序存放的,是新的操作类,key不允许重复.
      

  4.   

    两个错误
    一:sourceObjectMap.put("insured", policyBO.getInsuredBOList().get(i));
    导致你的map只有一个对象
    二:sourceObjectList.add(sourceObjectMap);
    导致你的List里面有重复数据,因为它在for循环里面不明白你的需求,两种需求,导致最后的东西是不一样的。
    一:每个对象都要在一个map里面,所有的然后全写入List
    for(){
    Map map = new ...
    map.put();
    list.add(map);
    }二:
    map = new ...
    for{
    map.put("key", );//key不一样 
    }
    list.add(map);
      

  5.   

    楼上正解   但还要加判断policyBO 是否为空和   policyBO.getgetInsuredBOList()是否为空