Я часто сталкиваюсь с той же проблемой. Мне нужно подсчитать пробеги лямбды для использования за пределами лямбды. Например:.
myStream.stream().filter(...).forEach(item->{ ... ; runCount++);
System.out.println("The lambda ran "+runCount+"times");
Проблема заключается в том, что runCount должен быть окончательным, поэтому он не может быть int. Это не может быть целым, потому что это неизменное. Я мог бы сделать это переменной уровня класса (т.е. Поле), но мне нужно будет только в этом блоке кода. Я знаю, что есть разные способы, мне просто интересно, каково ваше предпочтительное решение для этого? Вы используете AtomicInteger или ссылку на массив или каким-либо другим способом?