如何在java中获取列表类变量?

时间:2013-02-23 11:05:52

标签: arraylist

class User {

字符串名称; int age;}

列表listuser = new arrayList();

在abouve代码中如何使用listuser访问类memeber变量名称和年龄?   请帮忙,     提前致谢

2 个答案:

答案 0 :(得分:0)

首先,您需要在User类中为名称和年龄字段创建一些getter。

       class User{

          String name; int age; //these are private by default so you cannot access them

          //create getters for the 2 members in order to access them outside of the User class
          public string getName() 
            {
                 return name;
            }

          public int getAge()
           {
                  return age;
              }
         }

然后假设您已经将用户添加到数组列表中,例如:

         User user = (User)listuser.get(position); //cast the object at "position" to user.

          string name = user.getName();

答案 1 :(得分:0)

你应该注意的另一件事是List是泛型类型 - List< E>

您需要指定列表是哪种类型的列表。在您的情况下,它是用户类型列表。

对于演示,以下是使用List的方法:

public class User {

    String name;
    int age;

    User(String nm, int age) {
        name = nm;
        this.age = age;
    }

    public static void main(String args[]) {
        List<User> listuser = new ArrayList<User>();

        listuser.add(new User("Foo", 21));
        listuser.add(new User("Bar", 22));

        System.out.println(listuser.get(0).name + " : " + listuser.get(0).age);
        System.out.println(listuser.get(1).name + " : " + listuser.get(1).age);
    }
}

同样,上面我使用了具有默认访问权限的变量。 通常情况下,变量应保持私有访问,在这种情况下,您需要指定getter和setter,然后访问这些变量,就像Dan Dinu解释的那样。