gpt4 book ai didi

java - 对象数组添加仅添加最后一条记录

转载 作者:行者123 更新时间:2023-12-01 23:51:46 25 4
gpt4 key购买 nike

我正在尝试将一个对象添加到数组列表中。

该对象定义为:

ExercisesGroup group = new ExercisesGroup();

数组列表定义为:

ArrayList<ExercisesGroup> groups = new ArrayList<ExercisesGroup>();

然后我在循环中填充对象(rs 是来自数据库的结果集):

while (rs.next()){
group.setExerciseGroupId(rs.getInt("idbodyarea"));
group.setExerciseGroupDescription(rs.getString("bodyareadescription"));
groups.add(group);
}

当我返回数组列表“组”时,会添加正确数量的结果,但数据都是相同的,即为每个槽添加最后一条记录。

<exerciseGroupsReturn>
<exerciseGroupDescription>Description2</exerciseGroupDescription>
<exerciseGroupId>2</exerciseGroupId>
</exerciseGroupsReturn>
<exerciseGroupsReturn>
<exerciseGroupDescription>Description2</exerciseGroupDescription>
<exerciseGroupId>2</exerciseGroupId>
</exerciseGroupsReturn>

知道我做错了什么吗?

最佳答案

您需要在每次迭代时创建该对象的新实例:

while (rs.next()){
group = new ExercisesGroup();
//...
}

另外,如果你改变groups的声明会更好。变量来自 ArrayList<ExercisesGroup>List<ExercisesGroup> 。引用What does it mean to "program to an interface"?

关于java - 对象数组添加仅添加最后一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16221224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com