У меня есть бесконечный цикл, где я создаю объект. В конце цикла, после создания объекта, я запустил его. При запуске объекта программа будет блокироваться, потому что у меня есть еще один бесконечный цикл в моем TcpClient-объекте. Но иногда этот бесконечный цикл прерывается из-за обработанной ошибки и вызовет конкретный метод в моем mTcpClient-Object, который называется «повторно подключиться». Там я хотел бы удалить объект mTcpClient, чтобы первый бесконечный цикл продолжался и создавал новый объект mTcpClient.Java: удалить и воссоздать объект
Как это сделать?
while(true) {
//we create a TCPClient object and
mTcpClient = new TcpClient(new TcpClient.OnMessageReceived() {
@Override
public void reconnect() {
// HERE I want to delete this object
}
....
});
if (mTcpClient != null)
mTcpClient.run();
}
Вы не можете вручную удалить объект в Java. Можете ли вы пояснить, что вы подразумеваете под «удалением» объекта? – CKing
Было бы полезно, если вы покажете свою полную программу, но насколько я понимаю ваш вопрос, вы не можете удалять объекты, когда захотите. Это делается автоматически, когда сборщик мусора проверяет неиспользуемые объекты. Если вы хотите что-то сделать, а сбор мусора 'TcpClient', вы можете переопределить' protected void finalize() 'метод' Object'. – Ved
@Ved Рекомендуемые финализаторы - это почти всегда плохие советы. – chrylis