Java 为什么我需要用array.asList()替换List.of()?
我读过 我不明白的是,为什么在我的Maven pom.xml中进行了一些依赖项升级之后,我的Java 为什么我需要用array.asList()替换List.of()?,java,arrays,dependencies,package,java-11,Java,Arrays,Dependencies,Package,Java 11,我读过 我不明白的是,为什么在我的Maven pom.xml中进行了一些依赖项升级之后,我的 List.of(FLIGHT1_SPEND_AGG, FLIGHT1_IMPRESSIONS_AGG) 不再编译。当我在IntelliJ中键入List.时,autocomplete只会显示类成员。我想可能我没有导入java.util.List?因此明确指定了它,但仍然: 我使用的是Java 11,我看到这里存在这个方法: 为什么我不能用它呢?我一定是做了什么蠢事…看起来您在ide中定义了Java版本
List.of(FLIGHT1_SPEND_AGG, FLIGHT1_IMPRESSIONS_AGG)
不再编译。当我在IntelliJ中键入List.
时,autocomplete只会显示类
成员。我想可能我没有导入java.util.List
?因此明确指定了它,但仍然:
我使用的是Java 11,我看到这里存在这个方法:
为什么我不能用它呢?我一定是做了什么蠢事…看起来您在ide中定义了Java版本,但在pom中没有定义(至少没有正确) pom需要指定maven编译器插件以及源和目标java版本 定义应类似于此:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
org.apache.maven.plugins
maven编译器插件
3.8.1
11
11
maven更新后,您的IDE将使用pom中定义的Java版本,或者使用默认版本(对于某些版本的编译器插件,它与Java 5一样旧),覆盖您之前设置的任何内容。噢,是因为
long
是可变的吗?但是。。。它以前是如何编译的?(依赖关系中的什么变化可能改变了这一点?)。也许尝试重新启动IDE或清除IDE缓存?@StoppharmingMonica-就是这样。如果你想加上你的答案,我可以接受你的。