Cannot refer to the non-final local variable userSession defined in an enclosing scope

今天同事突然找我报了这个么问题,别人都没报错,就他 大致查了一下是jdk版本的问题,他将jdk版本换成1.8依旧报错 查了下,错误原因大致如下: 新启线程与主线程各有一份独立占内存空间,userSession等变量是主线程的局部变量,会随主线程结束而出栈销毁, 会存在新启线程引用不到的情况 答: 查了下,jdk8会自动为匿名内部类,也就是我们的新启线程传的局部变量隐士生命为final类型 fina
相关文章
相关标签/搜索