如何在该类的另一个方法中访问我在构造函数中初始化的ArrayList?

时间:2017-10-23 16:29:50

标签: java arraylist methods constructor

以下是代码的副本,我希望能够使用ArrayList方法中创建的示例数据填充userList addSampleData()

UserGroup(){
    ArrayList<User> userList = new ArrayList<User>();
}

public void addSampleData() {
    User user1 = new User("U1", "admin", "a");
    User user2 = new User("U2", "admin", "b");
    User user3 = new User("U3", "editor", "c");
    User user4 = new User("U4", "editor", "d");
    User user5 = new User("U5", "editor", "e");
    User user6 = new User("U6", "user", "f");
    User user7 = new User("U7", "user", "g");
    User user8 = new User("U8", "user", "h");
    User user9 = new User("U9", "user", "i");
    User user10 = new User("U10", "user", "j");

    for(int i = 1; i<11; i++) {
        userList.add(getUser(i));
    }
}

2 个答案:

答案 0 :(得分:4)

使它成为类的一个字段(在类范围内声明它),而不是在构造函数中本地声明它。

class UserGroup {
    ArrayList<User> userList;

    UserGroup(){
        userList = new ArrayList<User>();
    }

    public void addSampleData() {
        // ...
        for(int i = 1; i<11; i++) {
            userList.add(getUser(i));
        }
    }
}

答案 1 :(得分:0)

在类中声明userList

然后在构造函数中简单地说userList = new ArrayList<User>();