-1

类用户{

字符串名称;整数年龄;}

列表列表用户=新数组列表();

在上面的代码中,如何使用 listuser 访问类成员变量名称和年龄?请帮助,在此先感谢

4

2 回答 2

0

好吧,首先您需要为 User 类中的 name 和 age 字段创建一些 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();
于 2013-02-23T11:18:09.707 回答
0

您应该注意的另一件事是 List 是通用类型,例如 - List< E >

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

对于演示,以下是使用 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 解释的那样。

于 2013-02-23T11:31:03.650 回答