• IDEA SDK(Software Development Kit) 介绍


    如上图标注 1 所示,IntelliJ IDEA 支持 6 种 SDK。最常用的就是 JDKAndroid SDK,其中在创建 Android SDK 的时候如果你没有先配置一个 JDK 的话,IntelliJ IDEA 则会提示你要先配置一个 JDK,然后才能配置 Android SDK

    如上图标注 2 所示,下拉会展示已经创建的所有 SDK,可以很方便地不同 SDK 中切换。在开发 Java 项目过程中,由于 IntelliJ IDEA 支持管理多个 JDK,所以你完全不用担心你系统上不同项目需要不同 JDK

    如上图标注 1 所示,SDKs 为 SDK 的统一管理处。

    如上图标注 2 所示,加号可以添加新 SDK,支持的类型如标注 3 所示;减号可以删除光标所选的 SDK。

    官网介绍:https://www.jetbrains.com/idea/help/sdk.html

     language level 介绍

    其他 IDE 没有看到类似 language level 的设置,所以这个功能应该算是 IntelliJ IDEA 特有的,可是 IntelliJ IDEA 官网也没有专门介绍 language level 的地方,也许 IntelliJ IDEA 认为这个知识点属于 JDK 范畴所以没加以介绍吧。所以这里主要我对此的一些理解。我们应该知道 Java JDK 在每个新版本都会有其新特性,而新版本一般也会向下兼容旧版本的特性,IntelliJ 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.

    如上第一张图标注 1,使用的是 JDK 7,显示的 SDK default7 - Diamonds,ARM,multi-catch etc.

    如上第二张图标注 1,使用的是 JDK 8,显示的 SDK default8 - Lambdas,type annotation etc.

    当我们使用 JDK 8 的时候,我们只能向下兼容 JDK 8 及其以下的特性,所以只能选择 8 及其以下的 language level。所以当我们项目使用的是 JDK 8,但是代码却没有使用 JDK 8 的新特性,最多使用了 JDK 7 的特性的时候我们可以选择 7 - Diamonds,ARM,multi-catch etc.

    对此我们总结 language level:限定项目编译检查时最低要求的 JDK 特性。

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

    Module 下的 SDK 和 language level

    对于大型项目,各个 Module 用到的 SDKlanguage level 很有可能是各不一样的,IntelliJ IDEA 对此也进行了支持。

    如上图标注 1 所示,可以针对 Module 选择其他 SDK,默认选择的是 Project SDK

    如上图标注 1 所示,可以针对 Module 选择其他 language level,默认选择的是 Project language level

  • 相关阅读:
    面对祖传屎山代码应该采用的5个正确姿势
    一行代码卖出570美元, 天价代码的内幕
    漫画 | 悲催的中国式软件开发
    看看我每天的工作,你们这些程序员都是“辣鸡”!
    漫画 | 浏览器一个比一个“无耻”
    程序员应该造的五大轮子
    我所尊敬的三位女程序员
    重磅!七国首脑会议决定制裁Go语言!
    漫画 | C语言哭了,过年回家,只有我还没对象
    漫画 | CPU战争40年,真正的王者终于现身!
  • 原文地址:https://www.cnblogs.com/faunjoe88/p/5735065.html
Copyright © 2020-2023  润新知