首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java自定义ArrayList所有条目都相同

Java自定义ArrayList所有条目都相同
EN

Stack Overflow用户
提问于 2012-04-21 23:14:20
回答 2查看 466关注 0票数 0

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

我的数组列表加载器。

代码语言:javascript
复制
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;
}

动物构造器

代码语言:javascript
复制
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();
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-21 23:36:15

我认为你列出的代码应该可以像预期的那样工作,错误可能是在其他地方。

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

希望这篇文章能有所帮助:-)

票数 1
EN

Stack Overflow用户

发布于 2012-04-21 23:29:53

您已经创建了数组列表静态

只需从此处删除静态即可

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10260200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档