简单的ArrayList问题

时间:2010-01-10 12:17:57

标签: java list arrays

我有这堂课:

public class User {


    public User(String nickname, String ipAddress) {

        nickname = nickname.toLowerCase();
        System.out.println(nickname + " " + ipAddress);
    }
}

另一个创建包含User对象的数组的类。

class UserMananger {

    static User user;
    static User user2;
    static User user3;

    static ArrayList allTheUsers;

       public void UserManager() {

           allTheUsers = new ArrayList();

           user = new User("Slavisha", "123.34.34.34");
           user2 = new User("Zare", "123.34.34.34");
           user3 = new User("Smor", "123.34.34.34");

           allTheUsers.add(user);
           allTheUsers.add(user2);
           allTheUsers.add(user3);


       }
}

我想要做的是调用一个main方法,它将从列表中为我提供格式为User的所有元素:“nickname ipAddress”

public static void main(String args[]) {

        System.out.println(allTheUsers.get(0));
    }

例如,这个主要方法应该给我这样的东西: Slavisha 123.34.34.34 但事实并非如此。什么似乎是问题?

1 个答案:

答案 0 :(得分:4)

第一个问题:您没有在toString()中覆盖User。例如:

@Override
public String toString() {
    return nickname + " " + ipAddress;
}

第二个问题:每次创建UserManager的实例时,您都会更改静态变量的值...但是您没有做任何事情除非一个实例UserManager已创建。一种选择是将UserManager的构造函数更改为静态初始值设定项:

static {
    // Initialize the static variables here
}

第三个问题:您尚未向我们展示main方法的位置,因此我们不知道它是否可以访问allTheUsers

第四个问题:“它没有”不能很好地描述你的问题。总是说出现在发生的事情:你得到例外吗?它只是印错了吗?