-1

クラスユーザー{

文字列名; int 年齢;}

リスト listuser=新しい arrayList();

上記のコードで、listuser を使用してクラス メンバー変数の名前と年齢にアクセスする方法は?? 助けてください、事前に感謝します

4

2 に答える 2

0

もう1つ注意しなければならないのは、Listは--List<E>のようなジェネリック型であるということです。

リストがどのタイプのリストであることを指定する必要があります。あなたの場合、それはタイプUsersのリストです。

デモの場合、リストの使用方法は次のとおりです。

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);
    }
}

繰り返しますが、上記ではデフォルトのアクセス権を持つ変数を使用しました。通常、変数はプライベートアクセスで保持する必要があります。その場合、Dan Dinuが説明したように、ゲッターとセッターを指定してから、それらの変数にアクセスする必要があります。

于 2013-02-23T11:31:03.650 に答える
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 に答える