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

Idea中Jdk和Language level的指定相关推荐

  1. 一个额外的小问题——关于jdk和Language level的关系

    关于jdk和Language level的关系 为什么制定了jdk还需要指定Language level 为什么制定了jdk还需要指定Language level 在java项目中必不可少的是我们要指 ...

  2. idea 模块jdk依赖总是自动变_解决IDEA中导入新的maven依赖后Language Level自动重置问题...

    问题: 弄了个测试项目,因为有涉及JDK1.8的代码,所以将IDEA中默认的Language Level 5(即对应JDK1.5),修改为了8(即对应JDK1.8),但是每次引入新的maven依赖,自 ...

  3. IntelliJ IDEA 之 jdk Language level

    原文链接:http://blog.csdn.net/tiantiandjava/article/details/46311929 在java项目中必不可少的是我们要指定一个jdk. 在指定jdk的同时 ...

  4. 2021-07-06-Intellij IDEA新建项目时JDK以及模块语言等级(language level)默认为1.8或1.5,每次创建新项目都需要重新更改

    问题详细描述:本人装了两个版本的JDK(JDK1.8 也叫JDK 8和JDK11)以前IDEA使用的都是JDK1.8,有时偶尔用11来看看新特性.今天想将IDEA的默认JDK换成11(language ...

  5. 【踩坑专栏】idea的language level默认为5解决办法

    idea里的language level默认为5,改了project中 的project language level也没用.基本上处于过两分钟就会有提示告诉你,你刚改的modele language ...

  6. phpstorm 不能选择 php language level

    最近需要更改phpstorm中的php language level发现更改不了 解决方法是在PHP 下面的Composer中勾选了同步 composer php版本的原因 取消勾选,点击应用就可以了 ...

  7. idea出现Undo Set language level to 6 - @Override in interfaces?

    问题描述 今天在开发接口是service层接口的实现类, @Override注解报红出现Undo Set language level to 6 - @Override in interfaces? ...

  8. IDEA中maven项目的language level 修改后自动重置问题

    问题: 我的JDK使用的是1.8,但是在IDEA中编写1.8特性的代码时却会爆红,而且编译也通不过,确定不是代码的问题后.转而发现了Language Level这个东西,IDEA中默认Language ...

  9. idea maven工程中的Language Level总是自动变到5

    问题如下图所示 在project中设置JDK为1.8,Language Level为8,但是新建的module总是为5,且修改pom后Language Level也会自动变为5. 解决方案如下 在po ...

最新文章

  1. CBitmapButton的使用(转)
  2. C语言 之 如何清除输入缓冲区所有内容
  3. 星期三,今天早上上了四节JS课程,下午听健康讲座,晚上装系统
  4. mysql自定义函数多参数_自定义mysql函数 - 无法传递参数
  5. DB Reindex
  6. 等概率随机函数的实现(对立事件的产生)
  7. 解读新突破“中国量子计算机”,真比神威·太湖之光还厉害?
  8. leetcode题目及答案python_leetcode Python算法题(20)-----多题
  9. 浅谈分类与标签机制的特色
  10. 高效记忆/形象记忆(09)110数字编码表 31-40
  11. app录制回放 jmeter_Jmeter使用之脚本录制回放
  12. 写给那些常年战痘的痘友们~~~
  13. STM32硬件SPI时钟频率与时钟解析(基于逻辑分析仪的抓包试验)
  14. java中如何开启事务_Java中开启事务操做数据库
  15. 晚上可以挣钱的副业,这6个赶紧收藏吧!
  16. Android之基于小米天气的天气源库
  17. 0 前言 关于数学基础以及如何入门算法学习
  18. 《会计学》账户与复式记账笔记的思维导图
  19. 创造“奇迹”的黄金圈法则,运营必看
  20. How to manually root almost any Android device

热门文章

  1. Win10中使用命令行cmd新建文件
  2. UGUI ScrollRect 鼠标滑动灵敏度调节
  3. Java学习笔记:办公自动化简介及PDF文件分析
  4. 生活中的定律之刺猬理念
  5. 默默收藏的9个AI社群,越早知道越好!
  6. day19总结和作业
  7. 乐视深陷质量危机:被曝采用手机电池做移动电源
  8. 使用siri和小爱同学控制ESP8266引脚电平--资料已配齐,简单操作即可----4.Siri控制一个灯
  9. 业余不求人,30秒拖拽制作封面图
  10. Overload 和Override 的区别。Overloaded 的方法是否可以改变返回值