gpt4 book ai didi

java - 为什么 Maven 不编译 Guava Table 代码而 Eclipse 编译器编译? (推断类型不符合上限)

转载 作者:行者123 更新时间:2023-11-30 12:07:39 27 4
gpt4 key购买 nike

我正在尝试使用 Maven 编译以下代码:

  final Table<Integer, Integer, Integer> destination = HashBasedTable.create();
final Map<Integer, Integer> source = new HashMap<>();

// compiles
final Table<Integer, Integer, Integer> broker =
source.entrySet().stream().collect( Tables.toTable( e -> 0, e -> 0, e -> 0,
( e1, e2 ) -> 0, HashBasedTable::create ) );
destination.putAll( broker );

// doesn't compile
destination.putAll( source.entrySet().stream().collect( Tables.toTable( e -> 0, e -> 0,
e -> 0, ( e1, e2 ) -> 0, HashBasedTable::create ) ) );

结果错误:

incompatible types: inferred type does not conform to upper bound(s)
inferred: com.google.common.collect.Table<java.lang.Object,java.lang.Object,java.lang.Object>
upper bound(s): com.google.common.collect.Table<java.lang.Object,java.lang.Object,java.lang.Object>,com.google.common.collect.Table<? extends java.lang.Integer,? extends java.lang.Integer,? extends java.lang.Integer>,java.lang.Object

为什么我需要这个经纪人表来编译?最有趣的是 Eclipse 编译器以某种方式知道如何处理它。

我正在使用 Maven 编译器插件版本 3.8.0,targetsource 标签设置为 1.8。

我觉得这里的工作流程出了点问题——我在 IDE 中开发,一切看起来都很好,但突然间发现我的代码出了点问题,它甚至无法编译Maven 构建。

我尝试了最新的 3.6 Maven 版本,Eclipse 编译器来自 Eclipse 2018-12,Java 8 和 11。

最佳答案

我填了一个关于这个的错误,它似乎被继续:https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8219318 .

关于java - 为什么 Maven 不编译 Guava Table 代码而 Eclipse 编译器编译? (推断类型不符合上限),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54747238/

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