Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法识别局部变量类型推断_Java_Intellij Idea_Var_Java 10 - Fatal编程技术网

Java 无法识别局部变量类型推断

Java 无法识别局部变量类型推断,java,intellij-idea,var,java-10,Java,Intellij Idea,Var,Java 10,我安装JDK 10是为了尝试新功能,我在var上遇到了一个很大的问题-出于某种原因,即使JDK被添加到IntelliJ(版本2018.1),以下代码仍然无法编译,表示Java找不到符号var: public class Variations { public static void main(String[] args) { var local = "foo"; System.out.println(local); } } 我是否遗漏了一些显而易

我安装JDK 10是为了尝试新功能,我在
var
上遇到了一个很大的问题-出于某种原因,即使JDK被添加到IntelliJ(版本2018.1),以下代码仍然无法编译,表示Java找不到符号
var

public class Variations {
    public static void main(String[] args) {
        var local = "foo";
        System.out.println(local);
    }
}
我是否遗漏了一些显而易见的东西,或者IntelliJ中是否有我应该启用的选项


编辑:项目和模块SDK以及语言级别都设置为Java10安装和lvl。10(虽然不是实验性的
X级别)。

我在网上搜索了一会儿,发现IntelliJ完全支持它。您是否检查过IntelliJ上运行的SDK版本是否为第10个? 您可以通过转到项目结构(Alt+Shift+Ctrl+S),SDK来检查它。从这里开始,如果在面板左侧看不到标签10.0,只需使用加号按钮手动添加即可。
希望这会有所帮助。

显然,尽管IDE的硬重启是不够的,但在项目和模块上都将语言级别设置为
X-实验特性一次,然后将其重新设置为lvl。10足以使IDE恢复正常


我想我应该感谢@CrazyCoder在这里给了我这个想法,即使是间接的。

你的代码在我于2018年3月27日构建的Java 10上运行良好

IntelliJ IDEA 2018.1(社区版) 建造#IC-181.4203.550,建造于2018年3月27日

您的IntelliJ或
JDK
可能有错误。试着从终端使用
jshell
。如果可以,应该更新您的IntelliJ。如果不能,请检查已安装的
JDK
。我的计算机上的版本:

“10”2018-03-20 Java(TM)SE运行时环境18.3(构建10+46)


在Settings/Build/Compiler/Java Compiler中,您必须在每个模块中将“目标字节码版本”更改为10。

当然,我将其设置为Project SDK,并且我将语言级别设置为10-根据所有的说明和推理,它应该支持它,并且应该编译此代码。检查JDK10是否用于项目和所有模块。所有模块的语言级别也应设置为10,请参阅相关屏幕截图。@CrazyCoder不幸的是,这些都很好-这也是我的第一个想法(我确实必须更改它们),但重建也没有帮助。不过,我会将此添加到问题中,因为这是一个有效点。请尝试文件|无效缓存|无效并重新启动。删除IDE配置()并从头开始设置JDK。如果问题仍然存在,请分享。解释他为什么应该这样做也会有帮助。是的,这是我做的第一件事。显然,我必须将语言级别提高到10级以上,然后再降低一次,这使IDE恢复正常。