我正在使用比较器 lambda 表达式对长格式的日期进行排序。
比较器comparingLong
方法用于对长格式(毫秒)的日期对象列表进行排序。
它对日期进行了正确的排序,但问题是每当在日期对象中遇到空值时,它就会中断并抛出空指针异常。
您能否帮助我通过使用 lambda 表达式中的任何检查来避免这种情况,因为我不知道如何在 lamda 表达式中使用此检查,或者是否有其他方法可以避免此异常?
使用下面的 lambda 表达式。 我们如何在此实现空检查,以便所有空日期值都出现在列表的末尾并且代码不会中断?
myList.sort(Comparator.comparingLong(e -> e.getBirthDate().getTime()));
最佳答案
e ->null == e.getBirthDate()? LONG.MINIMUM : e.getBirthDate().getTime()
关于java - 通过比较器排序时出现 NullPointer 异常(通过 lambda 表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57749476/