问题解决方案:
问题是循环中将数据添加到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);
}
这样做可以确保每个数据被独立存储,避免添加了指向同一地址的对象,从而避免了只有最后一个数据被显示的问题。
while循环外面已经声明StudentBean对象了 把StudentBean放到while里面