Python中文网

一个关于 编程问题的解答网站.

有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java“从内部类访问变量需要声明为final”错误

我在尝试使用内部类中某个类的本地成员时出错。 我知道将其声明为final将解决这个问题,但我读到Java 8应该自动处理它,我正在使用Intellij和Java 8,但它仍然无法编译。 有没有其他方法可以在不宣布它为最终版本的情况下修复它? 谢谢


共 (2) 个答案

  1. # 1 楼答案

    我认为你应该从“项目结构”改变你的语言水平;“模块”->;“您的项目名称”->;“来源”->;“语言级别”,并将其设置为8

    enter image description here

  2. # 2 楼答案

    I know that declare it as final will solve the issue but I read that Java 8 should handle it automatically.

    如果变量为final,Java8将处理它

    我可以想出两种可能的解释:

    1. 也许变量不是有效的final。尝试显式地将其声明为final。如果出现编译错误(例如,说有人试图修改final),那么该变量实际上不是最终变量

    2. 可能您没有为Java8正确配置Intellij和项目;e、 g