王座 2023-04-06 21:41 采纳率: 93.8%
浏览 17
已结题

为什么for循环使用calendar获取日期复制给两个函数最后函数值会一样。


 @GetMapping("/findall")
    public Result findall(@RequestParam String uid) throws ParseException {
        QueryWrapper queryWrapper=new QueryWrapper();
        queryWrapper.in("uid",uid);
        List<sDate> dates=new ArrayList<>();
        dates= dateMapper.selectList(queryWrapper);
        dateDTO dateDTO=new dateDTO();
        List<dateDTO> dateDTOS =new ArrayList<>();
        for (sDate date: dates){
            String time=date.getTime();//获取数据库中的时间
            Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse(time);//将获取的时间转换成date对象
            Calendar ca = Calendar.getInstance();
            ca.setTime(date1);
            int day = ca.get(Calendar.DATE);//一年中的第几天
            int month = ca.get(Calendar.MONTH)+1;//第几个月 8
            int year = ca.get(Calendar.YEAR);//年份数值 2021
            dateDTO.setDay(day);
            dateDTO.setMonths(month);
            dateDTO.setYear(year);
            System.out.println("总"+dateDTO);
            dateDTOS.add(dateDTO);
        }
        System.out.println("一起"+dateDTOS);
        return Result.success(dateDTOS);
    }

img

  • 写回答

2条回答 默认 最新

  • Mini厂程序员 2023-04-06 22:10
    关注

    你的对象在循环外面构建的,所以就算放进集合里面两次,本质上是一个对象

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 4月6日