局部变量类型推断未被识别
Local Variable Type Inference not being recognized
我安装了 JDK 10 来尝试新功能,但我对 var
挂了一个大挂 - 出于某种原因,即使 JDK 已添加到 IntelliJ (version 2018.1),下面的代码还是编译不通过,提示Java cannot find the symbol var
:
public class Variations {
public static void main(String[] args) {
var local = "foo";
System.out.println(local);
}
}
我是否遗漏了一些明显的东西,或者我应该启用 IntelliJ 中的一个选项?
编辑:project 和 module SDK 和语言级别都设置为 Java 10 安装和 lvl。 10(虽然不是 X - experimental
级别)。
在网上查了一会儿,发现IntelliJ完全支持。你有没有检查过你在IntelliJ上运行的SDK版本是不是第10个?
您可以通过 Project Structure (Alt+Shift+Ctrl+S), SDKS 检查它.在这里,如果您没有在面板左侧看到标签 10.0,只需使用加号按钮手动添加它。
希望这有帮助。
显然,虽然 IDE 的硬重启是不够的,通过将项目和模块的语言级别设置为 X - Experimental features
一次,然后 re-setting 将其设置为 lvl . 10 足以让 IDE 重回正轨。
我想我应该感谢@CrazyCoder 在这里给了我这个想法,即使是间接的。
你的代码在 Java10 上运行良好,我的 MacOS IntelliJ 2018.1 构建于 2018 年 3 月 27 日。
IntelliJ IDEA 2018.1 (Community Edition)
Build #IC-181.4203.550, built on March 27, 2018
您的 IntelliJ 或 JDK
可能有错误。尝试从终端使用 jshell
。如果可以,应该更新您的 IntelliJ。如果不能,应该检查你安装的JDK
。我机器上的版本:
"10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
在 Settings/Build/Compiler/Java 编译器中,您必须将每个模块中的 "Target bytecode version" 更改为 10。
我安装了 JDK 10 来尝试新功能,但我对 var
挂了一个大挂 - 出于某种原因,即使 JDK 已添加到 IntelliJ (version 2018.1),下面的代码还是编译不通过,提示Java cannot find the symbol var
:
public class Variations {
public static void main(String[] args) {
var local = "foo";
System.out.println(local);
}
}
我是否遗漏了一些明显的东西,或者我应该启用 IntelliJ 中的一个选项?
编辑:project 和 module SDK 和语言级别都设置为 Java 10 安装和 lvl。 10(虽然不是 X - experimental
级别)。
在网上查了一会儿,发现IntelliJ完全支持。你有没有检查过你在IntelliJ上运行的SDK版本是不是第10个? 您可以通过 Project Structure (Alt+Shift+Ctrl+S), SDKS 检查它.在这里,如果您没有在面板左侧看到标签 10.0,只需使用加号按钮手动添加它。 希望这有帮助。
显然,虽然 IDE 的硬重启是不够的,通过将项目和模块的语言级别设置为 X - Experimental features
一次,然后 re-setting 将其设置为 lvl . 10 足以让 IDE 重回正轨。
我想我应该感谢@CrazyCoder 在这里给了我这个想法,即使是间接的。
你的代码在 Java10 上运行良好,我的 MacOS IntelliJ 2018.1 构建于 2018 年 3 月 27 日。
IntelliJ IDEA 2018.1 (Community Edition) Build #IC-181.4203.550, built on March 27, 2018
您的 IntelliJ 或 JDK
可能有错误。尝试从终端使用 jshell
。如果可以,应该更新您的 IntelliJ。如果不能,应该检查你安装的JDK
。我机器上的版本:
"10" 2018-03-20 Java(TM) SE Runtime Environment 18.3 (build 10+46)
在 Settings/Build/Compiler/Java 编译器中,您必须将每个模块中的 "Target bytecode version" 更改为 10。