Ani*_*kur 52 java intellij-idea
我正在使用Java 7 SDK和IntelliJ IDEA IDE.
java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我仍然无法使用Java 7功能.经过一些谷歌搜索后,我可以在设置项目语言级别后使用所有功能7(Diamond, ARM, multicatch etc)
.究竟是什么?如果这与基于JDK的语法有一些关系,那么它是level 8(Lambda, annotations etc)
什么?Java 8尚未发布.根据Wiki,预计Java 8将于2014年3月发布.有人请解释这个语言水平的概念.
Joa*_*son 76
该Language level
设置设定为特色的代码帮助编辑器应该支持.例如,如果您正在使用JDK 1.7但希望您的代码与JDK 1.6兼容,则可以将语言级别设置为低于实际JDK支持(在JDK 1.6的情况下为6.0),并且仅获得重构/语法建议支持1.6及更低版本.根据您的编译器,它还可以为编译器选项提供删除对较新语法元素的支持.
8.0(正如您猜测的那样对应于Java 8)可供想要试用其中一个可用的Java 8快照的人使用.由于Java 8未发布,语言级别8.0可能会在发布之前发生很大变化.
根据IntelliJ Wiki上的探索常规项目设置部分中的文档,项目语言级别会影响 IDE 提供的智能感知。
它还规定了 IntelliJ 在您开发时编译 Java 代码时所使用的编译器的行为。
此设置告诉编译器可用于该项目的所有功能。例如,将语言级别设置为 JDK 5 将允许 IntelliJ 识别源代码中存在的关键字,例如enum 。
如果您查看Java 编译器命令的选项javac
,您会发现-source
和-target
选项允许您针对 Java 的替代版本进行编译。我不确定 IntelliJ 的语言级别设置对应于哪个选项(很可能-source
),但它本质上告诉 IntelliJ 在指定的 Java 语言版本中使用提供的 Java SDK(在现场Project SDK
),而不是所述 SDK 提供的最新版本。
因此,当您安装了 Java 7 时,您可以将语言级别设置为6.0
,IntelliJ 将根据 Java 6 规范而不是 Java 7 规范来编译您的代码。这包括您键入时完成的所有实时建议和代码检查。
Java 8 选项的存在可能是因为 Java 8 的 beta 版本可供测试。
我从未尝试过如果将语言级别设置为高于 JDK 版本会发生什么。
归档时间: |
|
查看次数: |
53502 次 |
最近记录: |