使用比较器对地图进行排序会导致语法错误

dim*_*s93 0 java sorting dictionary

我正在尝试像这样对地图进行排序(首先按值(整数),然后按键(字符串))

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()));   

    //...
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

1个

知道我缺少什么吗?在我之前的问题中建议将其作为替代方案,但我无法使其正常工作。

Pet*_*rey 5

不幸的是,类型推断在这里失败了,您必须为其赋予泛型类型。

list.sort(Map.Entry.<String,Integer>comparingByValue()
        .thenComparing(Map.Entry.comparingByKey()));
Run Code Online (Sandbox Code Playgroud)