# Java 在 IntelliJ IDEA 中提示 set the language level 9

**URL:** <https://www.isharkfly.com/t/java-intellij-idea-set-the-language-level-9/13914>\
**Category:** 程序语言\
**Tags:** java, ide\
**Created:** [April 8, 2022, 2:00pm UTC](https://www.isharkfly.com/t/java-intellij-idea-set-the-language-level-9/13914 "2022-04-08T14:00:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [April 8, 2022, 2:00pm UTC](https://www.isharkfly.com/t/java-intellij-idea-set-the-language-level-9/13914/1 "2022-04-08T14:00:39Z")

</div>

在 IntelliJ IDEA 中有下面的一个提示：

![IntelliJ-IDEA-language-level-9-01](https://www.isharkfly.com/images/transparent.png)

问题就是我们在使用代码；

```auto
List<Integer> x = List.of(1,2);

```

提示我们需要是用 JDK 版本的 9 的编译级别。

## 问题和解决

这个问题的主要原因是你可能使用了 Maven。

IntelliJ IDEA 会根据你 Maven pom.xml 文件中的配置来设编译级别。

如果下面的图片中显示的内容。

 ![2IntelliJ-IDEA-language-level-9-01](https://com-ossez-www-discourse.s3.dualstack.us-east-2.amazonaws.com/discourse-uploads/original/2X/5/58129df99a004926a8391b31ee5db7073976415a.png)

我们对项目编译使用的级别是 1.8。

但是上面代码中对 List 的初始化只能在 JDK 9 以后的版本才能用。

因此出现了上面的编译级别错误的提示。

解决版本就是将上面的 JDK 编译级别设置到 9 以上。

或者可以考虑使用下面的代码来进行初始化：

```auto
List<Integer> x = Arrays.asList(1,2);

```

这样就能够修正 IntelliJ IDEA 提示的代码编译错误了。
