一个迷惘的问题,为什么前面就可以通过编译,后面就不行?

img


这个好使

img

这个过不去编译!
why?这是为什么啊?
都是一样的变量啊?为什么会导致这样?

两个的区别是,能编译通过的变量是类成员变量,而编译不通过的变量是方法内局部变量。lambda表达式不能使用常规定义的局部变量,你可以点图二中的Convert to atomic

有两种方案:
1、将这两个参数放到方法外
2、在double前加上static字段