У меня есть этот код:Lambda limitions в использовании с runnables
Task.doTask(new Runnable(){
int bound = 0;
@Override
public void run(){
switch (bound){
case 0:
break;
case 1:
finishTask();
break;
}
bound++;
}
});
Я могу поставить инициировать int
границы и использовать его в качестве индикатора выполнения легко с этим
Task.doTask(() ->{
int bound = 0;
switch (bound){
case 0:
break;
case 1:
finishTask();
break;
}
bound++;
});
, но с помощью лямбды я могу 't инициировать связанный, поэтому он всегда 0
;
Это потому, что тело лямбда определяет метод 'run' внутри экземпляра' Runnable', который передается методу 'doTask'. – blazs