【发布时间】:2016-01-29 10:20:27
【问题描述】:
我有一张地图:
private Map<String, AtomicInteger> keywordMap = new HashMap<String, AtomicInteger>();
我正在尝试使用以下代码在 Java 8 中按值 (AtomicInteger) 对 Map 进行排序:
keywordMap
.entrySet()
.parallelStream()
.sorted().forEachOrdered(e -> System.out.print(e.getKey()));
但是,我收到以下错误:
java.lang.ClassCastException: java.util.HashMap$Node cannot be cast to java.lang.Comparable
错误出现在这一行:.forEachOrdered(e -> System.out.print(e.getKey()));
我的代码有什么问题?
【问题讨论】:
-
你有
==而不是= -
检查这个,mby可以帮助你。 docs.oracle.com/javase/8/docs/api/java/util/stream/…