作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要一个空安全比较器,但它不起作用:
Comparator<Item> sort_high = (i1, i2)-> Double.compare(i2.getUser().getValue(), i1.getUser().getValue());
items.sort(Comparator.nullsFirst(sort_high));
at Item.lambda$1(Item.java:270)
at java.util.Comparators$NullComparator.compare(Comparators.java:83)
at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
at java.util.TimSort.sort(TimSort.java:220)
at java.util.Arrays.sort(Arrays.java:1438)
at java.util.List.sort(List.java:478)
最佳答案
nullsFirst
将处理 null Item
s(“i1
”),但是一旦找到两个有效对象,您的 Comparator
被调用,您需要处理内部 null
引用。
在您的情况下,您可以使用以下内容:
items.sort(
Comparator.nullsFirst(
Comparator.comparing(Item::getUser,
Comparator.nullsFirst(Comparator.comparingDouble(User::getValue))
)
)
);
getValue()
返回
double
)
关于java-8 - Comparator.nullsFirst 与空安全比较器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45925825/
如果字段为空,我如何根据日期对列表进行排序? import java.time.LocalDate; import java.time.format.DateTimeFormatter; import
我在 vector 中有以下列表 Class abc{ String view; String viewDesc; } Data: viewDesc = null viewDesc
我想要一个空安全比较器,但它不起作用: Comparator sort_high = (i1, i2)-> Double.compare(i2.getUser().getValue(), i1.get
我有一个包含多个“可选”(不是 java.util.Optional)字段的类。我正在编写一个 Lambda 比较器,通过比较它们属性的一个子集来测试是否相等 我写了 private final st
这可能是一个简单的问题,但我想清楚地理解它...... 我有这样的代码: public final class Persona { private final int id; privat
我是一名优秀的程序员,十分优秀!