所以我在我的代码中遇到了一个问题:
synchronized(clients)
clients.remove(this);
}
当客户端断开连接时,但现在我需要能够将该客户端的名称发送给所有其他客户端,为此我必须做一些像
这样的事情。synchronized(clients)
broadcast("Remove:"+clients.get(this).name);
clients.remove(this);
}
但显然我无法获得带有“this”的索引,那么我该如何获得正确的客户名称呢?谢谢!
答案 0 :(得分:13)
答案 1 :(得分:5)
您是否查看了ArrayList中的indexOf函数?
答案 2 :(得分:3)
int index = clients.indexOf(this);
// Do what ever...
clients.remove(index); // or clients.remove(this);
答案 3 :(得分:-1)
我认为您要从列表中删除特定对象。如果你从代码中获得索引
int index = clients.get(this)
然后你可以轻松删除
clients.remove(index);
或者如果您从列表中获取对象,则删除
clients.remove(object) // remove by object