Lambda引用外部变量为啥是Final的

阅读 46

2022-01-09

结论:Java8在设计Lambda时,为了防止可能出现的并发问题,减轻程序员的压力。( - -)!!

这个规则在学习Java8的时候很熟了,之前写程序时也想到了,写一个Runner交给线程池的时候,如果允许引用局部变量去modify,确实容易疏忽导致并发问题,而且还很难复现。

然后在Stack Overflow上找到了官方说法:https://stackoverflow.com/questions/34865383/variable-used-in-lambda-expression-should-be-final-or-effectively-final

 

精彩评论(0)

0 0 举报