首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是IntelliJ IDEA中的项目语言级别?

什么是IntelliJ IDEA中的项目语言级别?
EN

Stack Overflow用户
提问于 2013-07-18 12:31:47
回答 3查看 69.4K关注 0票数 63

我使用的是Java7SDK和IntelliJ IDEA IDE。

代码语言:javascript
复制
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)

我仍然不能使用Java7的特性。在谷歌了一下之后,我可以使用项目语言级别设置为7(Diamond, ARM, multicatch etc)后的所有功能。这到底是什么?如果这与使用中的基于JDK的语法有关,那么什么是level 8(Lambda, annotations etc)?Java 8还没有发布。根据Wiki的说法,Java 8预计将于2014年3月发布。谁来解释一下这个语言级别的概念。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-18 12:53:24

Language level设置设置编辑器中的代码帮助应该支持哪些功能。例如,如果您正在使用JDK 1.7,但希望代码与JDK 1.6兼容,则可以将语言级别设置为低于实际JDK支持的语言级别(对于JDK 1.6,为6.0),并且仅获得1.6及更低版本所支持的重构/语法建议。根据您的编译器,它还可能为编译器提供删除对较新语法元素的支持的选项。

8.0 (正如您猜测的那样,它对应于Java8)可供那些想要尝试现有Java 8 snapshots之一的人使用。由于Java 8没有发布,因此在发布之前,语言级别8.0可能会发生很大变化。

票数 90
EN

Stack Overflow用户

发布于 2013-07-18 12:55:15

如果查看options for the javac Java compiler command,您将看到-source-target选项允许您针对备选版本进行编译。我不确定IntelliJ的语言级别设置对应于哪个选项(可能是-source),但它本质上是告诉IntelliJ在指定的Java语言版本中使用提供的Java SDK (在Project SDK字段中),而不是由所述SDK提供的最新版本。

因此,在安装Java7之后,可以将语言级别设置为6.0,然后IntelliJ将根据Java6规范而不是Java7规范来编译代码。这包括在您键入时完成的所有实时建议和代码检查。

选择Java 8可能是因为有Java 8的beta版本可供测试。

我从未尝试过将语言级别设置为高于JDK版本会发生什么情况。

票数 5
EN

Stack Overflow用户

发布于 2013-07-18 12:50:03

根据在IntelliJ Wiki上探索常规项目设置一节中的文档,项目语言级别会影响集成开发环境提供的智能感知。

它还规定了IntelliJ在开发过程中编译代码时所使用的编译器的行为。

此设置告知可用于项目的编译器的所有工具。例如,将语言级别设置为JDK5将允许IntelliJ识别源代码中存在的关键字,如枚举

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17714584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档