Java 对象数组添加仅添加最后一条记录
我正在尝试向arraylist添加对象 对象定义为:Java 对象数组添加仅添加最后一条记录,java,object,arraylist,Java,Object,Arraylist,我正在尝试向arraylist添加对象 对象定义为: ExercisesGroup group = new ExercisesGroup(); ArrayList<ExercisesGroup> groups = new ArrayList<ExercisesGroup>(); 数组列表定义为: ExercisesGroup group = new ExercisesGroup(); ArrayList<ExercisesGroup> groups =
ExercisesGroup group = new ExercisesGroup();
ArrayList<ExercisesGroup> groups = new ArrayList<ExercisesGroup>();
数组列表定义为:
ExercisesGroup group = new ExercisesGroup();
ArrayList<ExercisesGroup> groups = new ArrayList<ExercisesGroup>();
当我返回arraylist“groups”时,会添加正确数量的结果,但是数据都是相同的,即为每个插槽添加最后一条记录
<exerciseGroupsReturn>
<exerciseGroupDescription>Description2</exerciseGroupDescription>
<exerciseGroupId>2</exerciseGroupId>
</exerciseGroupsReturn>
<exerciseGroupsReturn>
<exerciseGroupDescription>Description2</exerciseGroupDescription>
<exerciseGroupId>2</exerciseGroupId>
</exerciseGroupsReturn>
说明2
2.
说明2
2.
知道我做错了什么吗?您需要在每次迭代中创建对象的新实例:
while (rs.next()){
group = new ExercisesGroup();
//...
}
另外,如果将
组
变量的声明从ArrayList
更改为List
,效果会更好。请参阅您需要在每次迭代中创建对象的新实例:
while (rs.next()){
group = new ExercisesGroup();
//...
}
另外,如果将
组
变量的声明从ArrayList
更改为List
,效果会更好。请参阅看起来您是在循环外部创建练习组,因此始终引用同一对象。将ExerciseGroup构造函数放在循环内。看起来您是在循环外创建ExerciseGroup,因此始终引用同一对象。将ExerciseGroup构造函数放入循环中