Lambda-封闭范围中定义的局部变量计数必须是最终或有效最终

时间:2019-05-27 05:47:45

标签: java java-8

在下面程序的 names.forEach(s-> count ++); 行中,编译器给出了错误-“ 在封闭范围内定义的局部变量计数必须是最终的或有效的最终”。

如何解决此错误?

注意: 要求不是找到列表的大小。这只是错误的一个例子。实际上,我想了解这个问题,并知道如何在以下程序中解决该问题。

public static void main(String[] args) {
    List<String> names = new ArrayList<>();
    names.add("Tom");
    names.add("Dick");
    names.add("Harry");

    int count=0;
    names.forEach(s -> count++); //ERROR IN THIS LINE
    System.out.println("Size of List = "+count);
}

0 个答案:

没有答案