小编Дми*_*лев的帖子

Java 8 Map.Entry比较器

我一直在尝试使用lambda表达式在Java8中创建Map.Entry Comparator,并且发现了一种非常奇怪的行为.

Map<Integer, String> map = new TreeMap<>();

map.put(1, "Hello");
map.put(3, "zzzz");
map.put(2, "aaaa");
map.put(5, "AAAAA");
map.put(4, "aaaa");

Comparator<Map.Entry<Integer, String>> com = Comparator.comparing(Map.Entry::getValue);
com = com.reversed();

Comparator<Map.Entry<Integer, String>> com2 = Comparator.comparing(Map.Entry::getValue).reversed();
Run Code Online (Sandbox Code Playgroud)

com工作正常,但com2包含一个错误的" 无法解析方法getValue ".我真的不知道为什么?有什么建议?

PS有没有办法避免用Integer,String键入Map.Entry?任何更短的方式?

java lambda dictionary comparator java-8

14
推荐指数
2
解决办法
2656
查看次数

标签 统计

comparator ×1

dictionary ×1

java ×1

java-8 ×1

lambda ×1