Idea中Jdk和Language level的指定

Idea中Jdk和Language level的指定

JDK 在每个新版本都会有其新特性,而新版本一般也会向下兼容旧版本的特性,IDEA 是对这些 JDK 的新特性是这样介绍的:

JDK 6 :@Override in interfaces
JDK 7 :Diamonds,ARM,multi-catch etc.
JDK 8 :Lambdas,type annotation etc.
JDK 9 :Jigsaw project etc.
在这里插入图片描述
当我们使用 JDK 8 的时候,我们只能向下兼容 JDK 8 及其以下的特性,所以只能选择 8 及其以下的 language level

所以当我们项目使用的是 JDK 8,但是代码却没有使用 JDK 8 的新特性,只需使用 JDK 7 的时候我们可以选择 7 - Diamonds,ARM,multi-catch etc.

假设我们有一个项目代码使用了JDK 8 新特性:lambda 语法,但是 JDK 版本选择的却是 JDK 7,即使 language level 选择了 8 - Lambdas,type annotation etc.,也是没有多大意义的,一样会编译报错。

所以说,我们使用Project SDK(Software Development Kit, 软件开发工具包)来选择安装的JDK版本,使用Language level来限制JDK的版本。

注意:

  • 如果一个项目在本地运行正常,但是Language level配置错误,会在Linux部署项目时出现路径错误等问题。
  • 做项目时,要注意这地方的配置。

参考博客:https://blog.csdn.net/weixin_34304013/article/details/93596860

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值