当前位置:  开发笔记 > 编程语言 > 正文

Java Lambda - 检查ArrayList to Stream是否为空

如何解决《JavaLambda-检查ArrayListtoStream是否为空》经验,为你挑选了1个好方法。

我有以下lambda表达式,如果bonusScheduleDurationContainers不为空则工作正常.如果它是空的,我会得到一个NoSuchElementException.我如何在lambda表达式中检查这个?

final List bonusScheduleDurationContainers
        = scheduleDurationContainersOfWeek.stream()
                                          .filter(s -> s.getContainerType() == ScheduleIntervalContainerTypeEnum.BONUS)
                                          .collect(Collectors.toList());

final ScheduleDurationContainer bonusScheduleDurationContainer
        = bonusScheduleDurationContainers.stream()
                                         .filter(s -> s.getDayOfWeekStartingWithZero() == dayOfWeekTmp)
                                         .findFirst()
                                         .get();

Magnus.. 20

Stream.findFirst返回一个Optional,由你决定是否有一个值而不是只是调用get.

如果可orElse选项为空,则可以使用该方法返回默认值.



1> Magnus..:

Stream.findFirst返回一个Optional,由你决定是否有一个值而不是只是调用get.

如果可orElse选项为空,则可以使用该方法返回默认值.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有