如何在另一个类中调用一个方法,该类返回一个数组列表并访问该数组中的元素

时间:2017-09-06 10:52:45

标签: java arrays arraylist access

我将用户数据存储到ArrayList中并尝试访问其他类中的元素。

在这段代码中,我从我的Methods类接收用户数据并将它们存储在变量中,然后将这些变量添加到另一个名为Userlist的ArrayList中。我将该列表发送到Userdata方法,该方法返回Userlist。方法的访问修饰符是公共的,因此我可以从任何类访问列表。但我无法从其他类中获取列表,我不知道是否存在逻辑错误。

attributes attri=new attributes();
attri.Email=va;
attri.Password=password;

m.Userdata(attri);
UserNameFirst=m.list.get(0);
UserLastName=m.list.get(1);
Partnerid=m.list.get(2);
Bussinessid=m.list.get(3);

txtUserName.setText(UserNameFirst+UserLastName);
txtBussinessid.setText(Bussinessid);
txtPartnerid.setText(Partnerid);

UserList.add(Partnerid);
UserList.add(Bussinessid);

UserData(UserList);

方法UserData代码是

public ArrayList<String> UseData(ArrayList<String> UserList){
    return UserList;
}

来自我试图访问的类用户列表代码是

frmLocalUser frm=new frmLocalUser();
if (frm.UseData() {
    frm.UserList.get(0);
    frm.UserList.get(1);
}

我在UserData框架中调用Localuser方法时遇到错误。 任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:1)

您的问题是方法UseData采用名为UserList的参数,只返回给出的列表:

public ArrayList<String> UseData(ArrayList<String> UserList){
    return UserList; // ----------------------------^
}

参数UserListhide any fields with the same name。我看不到你的班级定义,但我认为你想要归还这个领域。

此方法不需要任何参数。您可以将其更改为:

public ArrayList<String> UseData(){
    return UserList;
}

此处还有语法错误:

if (frm.UseData() {

因为你需要一个额外的结束括号:

 if (frm.UseData()) {

另请注意,方法和变量应按惯例begin with a lowercase character