【问题标题】:NullPointer exception while sorting through Comparator (via lambda expression) [duplicate]通过比较器排序时出现空指针异常(在 lambda 表达式中)[重复]
【发布时间】:2019-09-01 20:59:24
【问题描述】:

我正在使用比较器 lambda 表达式以长格式对日期进行排序。 Comparator 的comparingLong 方法用于对长格式(毫秒)的日期对象列表进行排序。 它正确地对日期进行排序,但问题是每当在日期对象中遇到空值时,它就会中断并抛出空指针异常。

您能否帮助我避免这种情况,或者通过在 lambda 表达式中使用任何检查,因为我不知道如何在 lamda 表达式中使用此检查,或者有没有其他方法可以避免这种异常?

使用以下 lambda 表达式。 我们将如何对此进行空检查,以便所有空日期值都出现在列表的末尾并且代码不会中断?

myList.sort(Comparator.comparingLong(e -> e.getBirthDate().getTime()));

【问题讨论】:

    标签: java lambda java-8 nullpointerexception comparator


    【解决方案1】:
    e ->null ==   e.getBirthDate()? LONG.MINIMUM : e.getBirthDate().getTime()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-29
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      相关资源
      最近更新 更多