当前位置: 首页 > 知识库问答 >
问题:

返回Java流的空值[重复]

孔甫
2023-03-14
Date finalexamDate = Person.stream()
    .map(PersonDetails::getexamDate)
    .max(Date::compareTo)
    .orElse(null);

下面的代码生成一个

空指针异常

由于此人在本例中没有任何getexamdate,因此我想将null返回finalexamDate

尝试添加Optional.ofNullable仍然会产生相同的错误。

这应该如何处理?如果条件,有没有办法处理同一行代码而不是再检查一行?

共有1个答案

琴英华
2023-03-14

如果最大值为Null,则maxterminal方法会抛出Null指针异常。因此,首先过滤这些值是安全的,这样流中只有非空值。

Date finalexamDate = Person.stream()
    .map(PersonDetails::getexamDate)
    .filter(Objects::nonNull)
    .max(Date::compareTo)
    .orElse("some default value");
 类似资料:
  • 我希望从java中的地图列表中获取最小值。我正在使用平面地图,流和min的组合来做到这一点,并且没有得到预期的结果。这是代码公共类测试明 { 输出为:2 当然,我期望的输出是1。尝试一些调试表明它提供的输出值与“c”对应。i、 如果地图看起来像 那么我得到的输出是1。问题是为什么它不是按值排序,而是按键排序,并给我提供意外的输出。

  • 我的预览在方法中调用时返回null。测试类确实扩展了,因为它被保存在

  • 当我在android Studio中集成OpenCV进行眼睛检测时。集成后消息打印Opencv安装成功消息生成,但出现错误。 无法从加载器加载detection_based_trackerdalvik.system.PathClassLoader[DexPathList[[zip file"/data/app/com.example.admin.lanskart-2.apk],nativeLibr

  • 这一行是: 我在和上尝试了和,但仍然给出相同的错误

  • 我有这个功能 我用它来表示,我知道T现在不是空的,所以给我它的非空的形式。 我对函数不满意,有更好的方法吗?我觉得我错过了一些基本的东西