我創建的小工具,它可以幫助我整理我的地圖由值(基於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。
任何提示讚賞
你確定你正在使用的相同JDK,在兩種環境(IDE和Maven)? – 2012-02-23 14:26:03