代码之家  ›  专栏  ›  技术社区  ›  user3110458

Java:Arraylist<Object>的Getter/setter

  •  0
  • user3110458  · 技术社区  · 11 年前

    所以我有:

        ArrayList<data> mi = new ArrayList<data>();
    

    我有一个查询,它执行以下操作:

    while (rs.next()) {
    
                mi.add(new users());
                mi.get(i).name= rs.getString("name");
                mi.get(i).pass= rs.getString("pass");
                }
    

    它有效,但我希望它与Getter/setter一起使用,例如:

    mi.get(i).setname( rs.getString("name"));
    

    编辑:拼错了,我真的错了

    为什么我不能调用方法?

    5 回复  |  直到 10 年前
        1
  •  5
  •   Rahul    11 年前

    使用

    mi.get(i).setname(rs.getString("name"));
    
        2
  •  1
  •   Abimaran Kugathasan    11 年前

    你的 users 类应该有一个公共 setname(String name) 方法,该方法设置 name 字段 user

    然后 mi.get(i).setname(rs.getString("name")); 会起作用的

        3
  •  0
  •   Leos Literak    11 年前

    因为它是java。您不能有这样的分配

    setname() = rs.getString("name")
    

    这没有道理。您应将其设置为参数:

    object.setName(rs.getString("name"))
    

    此外,请遵守java命名约定:类具有CamelCase,方法以较低的第一个字符开始,然后继续使用CamelCase: setUserName

        4
  •  0
  •   wolfrevo    11 年前

    具有

    mi.get(i).setname()

    调用该方法 setname() 。结果(如果有)不是变量名,不能为其赋值。

    如果你的类有一个方法 setname(String s) 然后在Java中照常使用:

    mi.get(i).setname(rs.getString("name"))
    
        5
  •  0
  •   Haripriyan    11 年前

    我建议使用以下方法

    while (rs.next()) {
    Users user = new Users();
    user.setName(rs.getString("name"));
    user.setPass(rs.getString("pass"));
    mi.add(user);
    }
    

    在对象中设置值,然后将其添加到列表中似乎更为方便。