m0_64676822 2023-05-28 01:19 采纳率: 0%
浏览 22

在while循环中从数据库获取数据在添加到list集合中输出结果数据正常(十六个数据正常),而在循环外输出,显示只有最后一个数据(第十六个数据),怎么解决啊?best wish for you

img

img


在while循环中从数据库获取数据在添加到list集合中输出结果数据正常(十六个数据正常),而在循环外输出,显示只有最后一个数据(第十六个数据),怎么解决啊?best wish for you

  • 写回答

3条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-28 04:13
    关注
    • 以下回答由chatgpt基于相关博客总结生成:

      问题解决方案:

      问题是循环中将数据添加到list集合中,但在循环外输出时只有最后一个数据被显示。这是因为循环中每次将数据添加到list集合中,实际上是添加了一个指向同一地址的对象,因此最后输出时只有最后一个数据显示。

      为了解决这个问题,需要在循环中每次都新建一个对象,并将数据添加到该对象中,然后将该对象添加到list集合中。代码如下:

      List<Object> dataList = new ArrayList<>(); //定义list集合,用于存放数据
      
      while(条件){ //循环获取数据
          Object newData = new Object(); //每次都新建一个对象
          //将数据添加到newData对象中
          newData.setXXX(...);
          //newData对象添加到list集合中
          dataList.add(newData);
      }
      
      //输出list集合中所有数据
      for(Object data : dataList){
          System.out.println(data);
      }
      

      这样做可以确保每个数据被独立存储,避免添加了指向同一地址的对象,从而避免了只有最后一个数据被显示的问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月28日

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要