Java添加到列表

时间:2015-09-26 12:53:42

标签: java dictionary arraylist kryonet

我正在尝试制作一个简单的TCP聊天程序,当用户发送消息“/ list”时,我想从服务器回复所有在线用户的列表。

    else if (cmd.text.equals("/list")){
    //Sends the client a list of all registered users
        UserList userList = new UserList();

        System.out.println(online_users);

        if (online_users.values()!=null){

            userList.users.addAll(online_users.values());

        }

        c.sendTCP(userList);

    }

但是,即使我已经测试并且知道online_users确实包含要添加到userList.users的值,命令userList.users.addAll()仍然会抛出错误。这是错误:

Exception in thread "Server" java.lang.NullPointerException
at com.andrewlalisofficial.ChatServer.checkCommand(ChatServer.java:128)
at com.andrewlalisofficial.ChatServer$1.received(ChatServer.java:68)
at com.esotericsoftware.kryonet.Server$1.received(Server.java:61)
at com.esotericsoftware.kryonet.Connection.notifyReceived(Connection.java:246)
at com.esotericsoftware.kryonet.Server.update(Server.java:208)
at com.esotericsoftware.kryonet.Server.run(Server.java:356)
at java.lang.Thread.run(Thread.java:745)

其中第128行是userList.users.addAll(online_users.values());我希望能够简单地将Map online_users中的值集合添加到新的String列表中并将其发送出去。我不明白为什么会有错误。

0 个答案:

没有答案