gpt4 book ai didi

java - maven 构建的泛型问题

转载 作者:行者123 更新时间:2023-11-30 09:40:27 24 4
gpt4 key购买 nike

我创建了一个小实用程序,它可以帮助我按值对我的 map 进行排序(基于 StackOverflow 的一个答案来给予信任):

public static <K, V extends Comparable> Map<K, V> sortMapByValues(Map<K, V> original) {
final ValueComparator<K, V> comparator = new ValueComparator<K, V>(original);
final Map<K, V> sorted = new TreeMap<K, V>(comparator);
sorted.putAll(original);

return sorted;
}

还有 ValueComparator:

static class ValueComparator<K, V extends Comparable<V>> implements Comparator<K> {
private final Map<K, V> base;

public ValueComparator(Map<K, V> base) {
this.base = base;
}

public int compare(K a, K b) {
return base.get(b).compareTo(base.get(a));
}
}

现在,当在我的 IntelliJ 10 IDE 中运行时,代码运行良好,并按照我的预期进行。

但是如果我尝试从命令行通过 maven 构建项目,我会收到以下错误:

type parameter V is not within its bound

据说错误在 sortMapByValues() 方法的第一行

我在我的 IDE 中使用 JDK 6,我的 maven 编译器插件也设置为 1.6。

感谢任何提示

最佳答案

我猜是因为:

V extends Comparable (在 sortMapByValues 中)和 V extends Comparable<V>在类里面ValueComparator .

也把第一个改成V extends Comparable<V>

关于java - maven 构建的泛型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9414770/

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