排序映射
字符串值可以是整数、双值或普通值(必须将字符串解析为整数)。
一次,所有键将仅为一种数据类型。
键可以为空
nullsLast(comparing(o -> Double.valueOf(o.getKey())));是在扔NPE。
该怎么做才能让它发挥作用?
发布于 2021-12-07 06:28:09
抛出NullPointerException的不是NullPointerException,而是Double.valueOf(String)方法。
您可以通过显式检查空值来处理这一问题。
第二个问题是comparing不支持空值。您想要做的是通过它们的键(解析为Double)来比较对象,使用nullsLast比较器来比较键:
comparing(o -> o.getKey() == null ? null : Double.valueOf(o.getKey()), nullsLast(Comparator.naturalOrder()));https://stackoverflow.com/questions/70255676
复制相似问题