我试图像这样排序一个地图(首先按值(整数)然后按键(字符串))
public static Map<String, Integer> sortMap(Map<String, Integer> map) {
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
// thenComparing( ... ) is causing an error
list.sort(Map.Entry.comparingByValue().thenComparing(Map.Entry.comparingByKey()));
//...
}
我收到以下错误:
知道我错过了什么吗?这被建议作为我previous question的替代方案,但我无法使其发挥作用。
答案 0 :(得分:5)
不幸的是,类型推断失败了,你必须给它一般类型。
list.sort(Map.Entry.<String,Integer>comparingByValue()
.thenComparing(Map.Entry.comparingByKey()));