我经常面临同样的问题,我需要计算一个 Lambda在 Lambda之外使用的运行次数。
例如:
myStream.stream().filter(...).forEach(item -> { ... ; runCount++});
System.out.println("The lambda ran " + runCount + "times");
问题是 RunCount需要是 final
,所以它不能是 int
。它不可能是 Integer
,因为它是 永恒不变。我可以使它成为类级别变量(比如一个字段) ,但是我只需要在这段代码中使用它。
我知道有各种各样的方法,我只是好奇你对此的首选解决方案是什么?
您是否使用 AtomicInteger
或数组引用或其他方式?