gpt4 book ai didi

Java自定义ArrayList所有条目相同

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

我有一个自定义的数组列表设置来为我保存数据。但是,当我调用 arraylist 项目时,所有项目都是相同的。

我的数组列表加载器。

public static ArrayList<Animal> getTblHerd() throws Exception {
CC_H2 db = new CC_H2();
db.Connect(Variables.getStrConn(), Variables.getStrUser(),
Variables.getStrPassword(), "Embedded");
ResultSet rs = db.query("Select HERD_ID FROM tblHerd ORDER BY HERD_ID ASC");
ArrayList<Animal> alAnimals = new ArrayList<Animal>();

while (rs.next()) {
int i = rs.getInt("HERD_ID");
alAnimals.add(new Animal(i));
}
db.Disconnect();
return alAnimals;
}

动物构造者

public Animal(int intAnimal_ID) throws Exception{
CC_H2 db = new CC_H2();
db.Connect(Variables.getStrConn(), "admin", "", "Embedded");
ResultSet rs = db.query("Select * FROM tblHerd WHERE HERD_ID = "
+ intAnimal_ID);
while (rs.next()) {
setIntHerd_id(rs.getInt("Herd_ID"));
setStrHerd_Tag_Letter(rs.getString("Herd_Tag_Letter"));
setIntHerd_Tag_Num(rs.getInt("Herd_Tag_Num"));
setStrHerd_Tag_Color(rs.getString("Herd_Tag_Color"));
setStrHerd_Sex(rs.getString("Herd_Sex"));
setStrHerd_Type(rs.getString("Herd_Type"));
setDtHerd_Birthdate(rs.getDate("Herd_Birthdate"));
setIntHerd_Sire(rs.getInt("Herd_Sire"));
setIntHerd_Dam(rs.getInt("Herd_Dam"));
setIntHerd_Owner(rs.getInt("Herd_Owner"));
setDtHerd_TimeStamp(rs.getDate("Herd_TimeStamp"));
setStrHerd_Status(rs.getString("Herd_Status"));
setDtHerd_Status_Date(rs.getDate("Herd_Status_Date"));
}
db.Disconnect();
}

最佳答案

我认为您列出的代码应该按预期工作,错误可能在其他地方。

  • 检查数据库中的数据
  • 检查 while 循环中的 setter 是否做正确的事情
  • 检查 Animal 类中的字段是否不是静态的
  • 如果问题仍然存在,请尝试输入类似 System.out.println(rs.getInt("Herd_ID") + ": " + rs.getString("Herd_Tag_Letter")); 的内容进入 where 循环并检查输出

希望其中一些有所帮助:-)

关于Java自定义ArrayList所有条目相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10260200/

25 4 0