2016-06-26 3 views
0

Это часть моего кода.ArrayList удалить не работает?

private static List<Client> clients = null; 

public static boolean disconnectClient(Socket client) 
{ 
    try{ 
     System.out.println("[SYSTEM] : " + client.getInetAddress().getHostAddress() + "was disconnected !!"); 
     clients.remove(client); 

     return true; 
    }catch(Exception e){ 
     e.printStackTrace(); 
     return false; 
    } 
} 

если клиента отключенной вызова этой функции и распечатать сообщение

console : "[SYSTEM] : 127.0.0.1was disconnected !!" 

но clients.size(); возвращается 1 (0 - ответ ...)

Как я могу это исправить?

+0

Ваш '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ', но при удалении используется объект' Socket' и, следовательно, исходный список не изменяется. –

+0

Ох ... !! Моя лучшая ошибка LOL –

ответ

1

Вы передаете объект сокета для удаления(). Но ваш список состоит из объектов Client. Вместо этого вы должны передать клиентский объект.

Смежные вопросы