我的代码是:
int count = 0;
contactVisits.keySet().forEach(
key -> {
count++; //cannot reach count here
//.doing my stuff......
// ..
}
);
我需要用lambda计数,用“ count”变量计数,但是netbeans告诉我这样的问题 “从lambda表达式引用的局部变量必须是最终的或实际上是最终的”
是否有一种方法可以获取Lambda表达式中map的索引计数 还是在外面获取变量?
答案 0 :(得分:1)
最好的方法是在地图上使用size()方法。
您也可以使用atomicinteger代替int,然后调用getAndIncremend代替count ++,但是效果不佳。
还有stream()。count(),但我认为第一种方法是最好的。