好的,这是我的ArrayList
:
private List<ClientThread> clients = new ArrayList<ClientThread>();
这就是我想要做的:
我正在尝试从上面发布的 ArrayList
中删除最后一个已知项目。我正在尝试使用以下代码执行此操作:
} catch(SocketException re) {
String hey = clients.get(clients.size());
ClientThread.remove(hey);
System.out.println(hey + " has logged out.");
System.out.println("CONNECTED PLAYERS: " + clients.size());
}
但我收到此错误:
C:\wamp\www\mystikrpg\Server.java:147: incompatible types
found : Server.ClientThread
required: java.lang.String
String hey = clients.get(clients.size());
^
C:\wamp\www\mystikrpg\Server.java:148: cannot find symbol
symbol : method remove(java.lang.String)
location: class Server.ClientThread
ClientThread.remove(hey);
^
2 errors
我做错了什么?
它应该从我的 ArrayList
中删除最后一个已知项目。
最佳答案
应该是:
ClientThread hey = clients.get(clients.size() - 1);
clients.remove(hey);
或者你可以这样做
clients.remove(clients.size() - 1);
减号是因为size()返回的是元素个数,但是ArrayList的第一个元素的索引是0而不是1。
关于Java - 从 ArrayList 中删除最后一个已知项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3515496/