Как я могу изменить переменную внутри al oop in java - PullRequest
0 голосов
/ 05 августа 2020

У меня есть функция со временем жизни объекта. Эта функция запускается, когда создается объект, и создает новый поток, в котором он начинает уменьшать это время жизни, а когда он заканчивается, он стирает объект из списка. Проблема в том, что в некоторых случаях я хочу увеличить это время жизни. Но я не могу изменить переменную lifeTime, потому что она должна быть окончательной («Переменная lifeTime доступна из внутреннего класса, она должна быть окончательной или фактически окончательной»). ¿Есть ли способ сделать это? Спасибо.

for (time = lifeTime; time <= 0; time = time-1000 ){
    Thread.sleep(1000);
    lifeTime = time;
} 

1 Ответ

0 голосов
/ 05 августа 2020

Я не знаю другого контекста вашего кода, поэтому, возможно, есть лучшие ответы, но вы можете попробовать поместить свою переменную времени жизни в массив размером 1 (поместите его в рамку), и тогда вы, вероятно, сможете изменить ее значение

final int[] lifetimeBox = ... //lifetime = lifetimeBox[0]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...