【问题标题】:Comparator.comparing(((Function<Entity, SubEntity>)Entity::getSubEntity).andThen(SubEntity::getAmount)));Comparator.comparing(((Function<Entity, SubEntity>)Entity::getSubEntity).andThen(SubEntity::getAmount)));
【发布时间】:2021-03-31 04:16:13
【问题描述】:

如果 SubEntity 为 null 怎么办,SubEntity 本身的一些 null 然后 SubEntity::getAmount 空指针那么如何避免

【问题讨论】:

  • 如果不尝试使用方法引用,您的代码将变得更加可读:Comparator.comparing(entity -&gt; entity.getSubEntity().getAmount())。 null 的策略必须由您定义。例如。将它们视为最小值或最大值,或者只是禁止它们并抛出异常。我推荐后者。

标签: java-8 comparator


【解决方案1】:

使用Comparator.nullsLast

Comparator.nullsLast(
  Comparator.comparing(((Function<Entity, SubEntity>)Entity::getSubEntity)
            .andThen(SubEntity::getAmount))));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 2014-04-29
    • 2015-02-26
    相关资源
    最近更新 更多