0

我有一个显示在线用户列表的聊天程序。从服务器返回的消息是“RESP_USERLIST,,,,等等。除了我在将这些用户名添加到我的列表时遇到问题。

这是我当前的代码:

List <String> responseList = Arrays.asList(OnlineUsersPost.split(","));
    if (responseList.contains("RESP_USERLIST")){
        _onlineUsers = responseList.get(1);

        System.out.println("Online users: " + _onlineUsers);

我在哪里初始化它:

private String _onlineUsers;

似乎它只是将第一个用户添加到列表中,我想将它们全部添加到数组列表中。

编辑:我现在已经尝试过这种方式,差别不大:

List <String> responseList = Arrays.asList(OnlineUsersPost.split(","));
    if (responseList.contains("RESP_USERLIST")){
        for (int i = 0; i < responseList.size(); i++) {
            _onlineUsers.add(responseList.get(i));
            System.out.println("Online users: " + _onlineUsers);
        }

我在哪里初始化它:

private List<String> _onlineUsers;
4

1 回答 1

1

我认为您应该首先初始化您的arraylist,您显示的初始化语句只是声明,因此将其初始化为:

private List<String> _onlineUsers= new ArrayList<Sting>();

并将您的循环更改为以下内容:

ist <String> responseList = Arrays.asList(OnlineUsersPost.split(","));
    if (responseList.contains("RESP_USERLIST")){
        for (int i = 1; i < responseList.size(); i++) {
            _onlineUsers.add(responseList.get(i));
            System.out.println("Online users: " + _onlineUsers);
        }
于 2012-04-07T05:07:16.617 回答