for循环得数据如何获取到

请问,我应该改成怎么样才可以获取把下面得FOR循环数据全部取出来
现在只能获取到最后一条数据

3个回答

public List<List<UserOrder>> findCat(){
        //查询一级下线
        //   int popularizeId = (int) tokenService.getAuthentication().get( "popularizeId" );//获取分销推广id
        int popularizeId = 531571277;//获取分销推广id
        EntityWrapper<User> userEntityWrapper = new EntityWrapper<>(  );
        userEntityWrapper.where( "PARENT_ID={0}",popularizeId );
        List<User> userList = webUsersMapper.selectList( userEntityWrapper );
        List<List<UserOrder>> userOrderList = new ArrayList<List<UserOrder>>();
        for(User user : userList){
            List<UserOrder> userOrder = new ArrayList<UserOrder>();
            Long userId = user.getId();//获得用户id
            System.out.println("用户id"+ userId );
            EntityWrapper<UserOrder> userOrderEntityWrapper = new EntityWrapper<>(  );
            userOrderEntityWrapper.where( "UID={0}" ,userId);
            webUserOrderMapper.selectList( userOrderEntityWrapper );
            userOrder = webUserOrderMapper.selectList( userOrderEntityWrapper );
            userOrderList.add(userOrder);
        }
        return userOrderList;
    }
qq_41906761
人到中年就秃头 回复人到中年就秃头: 你其实可以retrun List<UserOrder>类型,只要把倒数第4行的userOrderList.add(userOrder);换成userOrderList.addAll(userOrder);把for循环上面的List<List<UserOrder>> userOrderList = new ArrayList<List<UserOrder>>();换成List<UserOrder> userOrderList = new ArrayList<UserOrder>();
4 个月之前 回复
qq_31122833
小达哥的垃圾桶 回复人到中年就秃头: 答案已更新
4 个月之前 回复
qq_41906761
人到中年就秃头 你这段代码是不是return错误了,类型不对呀
4 个月之前 回复

把List userOrder = new ArrayList(); 把这一行放到for外面

你是在for循环里面创建的ArrayList导致每次循环都会新建一个list,所以把这个提上去就行了,那样就是一个list,每次循环把数据加到list里面

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!