gpt4 book ai didi

java - 降级到 Java 1.7 会破坏 com.google.common.collect 的使用

转载 作者:行者123 更新时间:2023-12-02 02:15:03 26 4
gpt4 key购买 nike

我有一个程序在 Java 1.8 中运行良好(它实际上最初是为 1.6 编写的)。我将 pom.xml 中的 Java 版本更改为 1.7,以下行不再起作用:

import com.google.common.collect.Lists;

List<WekaFeature<Document>> myFeats = null;
if (abc == 123) {
myFeats = Lists.newArrayList(new WekaFeature[]{new AFeature(), new BFeature(), new CFeature()});
}

错误是:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project myproject: Compilation failure: Compilation failure:
[ERROR] /tmp/build_7d4663fc58427c700939b5e36e6e7e1d/src/main/java/com/example/MyService.java:[252,49] incompatible types
[ERROR] required: java.util.List<my.tools.feature.core.WekaFeature<my.tools.document.core.Document>>
[ERROR] found: java.util.ArrayList<my.tools.feature.core.WekaFeature>

我是 Java 新手,对 com.google.common.collect.Lists 库不熟悉。我知道 List 是一个接口(interface),ArrayList 是一个实现,那么为什么它现在不起作用,为什么在 Java 1.8 中它会起作用?

最佳答案

您可以使用以前版本的 Guava 库:

Guava comes in two flavors.

The JRE flavor requires JDK 1.8 or higher. If you need support for JDK 1.7 or Android, use the Android flavor. You can find the Android Guava source in the android directory.

或者将您的代码更改为以下代码:

myFeats = new ArrayList<>();
myFeats.add(new AFeature());
myFeats.add(new BFeature());
myFeats.add(new CFeature());

关于java - 降级到 Java 1.7 会破坏 com.google.common.collect 的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49415121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com