[英]Java : Getter /setter for Arraylist<Object>
so i have : 所以我有 :
ArrayList<data> mi = new ArrayList<data>();
i have a Query which do following : 我有以下查询:
while (rs.next()) {
mi.add(new users());
mi.get(i).name= rs.getString("name");
mi.get(i).pass= rs.getString("pass");
}
It works but i want it with Getter/setters like : 它可以工作,但我希望它与Getter / setters类似:
mi.get(i).setname( rs.getString("name"));
Edit : Misspelling i had it so 编辑:拼写错误我有它
Why cant i call the methode? 我为什么不能叫方法?
采用
mi.get(i).setname(rs.getString("name"));
Your users
class should have a public setname(String name)
method, which sets the name
field of user
class 您的users
类应该具有公共setname(String name)
方法,该方法设置user
类的name
字段
then, mi.get(i).setname(rs.getString("name"));
然后, mi.get(i).setname(rs.getString("name"));
will work 将工作
Because it is java. 因为它是java。 You cannot have such assignment 你不能有这样的任务
setname() = rs.getString("name")
It does not make sense. 它没有任何意义。 You shall set it as argument: 您应将其设置为参数:
object.setName(rs.getString("name"))
Also please respect java naming conventions: Class has CamelCase, methods start with lower first character and then continue with camel case as well: setUserName
还请遵守Java命名约定:类具有CamelCase,方法以低位第一个字符开头,然后以驼峰大小写继续: setUserName
with 与
mi.get(i).setname()
you call the method setname()
. 您调用方法setname()
。 The result (if any) is not a variable name and you cannot assign a value to it. 结果(如果有)不是变量名,您不能为其分配值。
If your class has a method setname(String s)
then use it as usual in Java: 如果您的类具有方法setname(String s)
,请照常在Java中使用它:
mi.get(i).setname(rs.getString("name"))
I would recommend using the below approach 我建议使用以下方法
while (rs.next()) {
Users user = new Users();
user.setName(rs.getString("name"));
user.setPass(rs.getString("pass"));
mi.add(user);
}
Seems neater to set the values in your object and then adding them to the list. 似乎更整洁地在对象中设置值,然后将其添加到列表中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.