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

如何在java中添加两个可选

汝彭薄
2023-03-14
Optional<Long>totalLanding= ....(get it from somewhere);
Optional<Long>totalSharing = ...(get it from somewhere);
Optional<Long>total = totalLanding+totalSharing;

共有1个答案

景同
2023-03-14

使用streams怎么样?

Optional<Long> total = Stream.of(totalLanding,totalSharing)
                             .filter(Optional::isPresent)
                             .map(Optional::get)
                             .reduce(Long::sum);

顺便说一句,我会使用optionallong而不是optionallong

解决办法类似:

OptionalLong total = Stream.of(totalLanding,totalSharing)
                           .filter(OptionalLong::isPresent)
                           .mapToLong(OptionalLong::getAsLong)
                           .reduce(Long::sum);
 类似资料:
  • 问题内容: 我有两次弦乐时间 有没有简单的方法可以将这两个时间相加并获得一个新的时间 呢? 我想在客户端执行此操作,因此,如果可以避免使用任何日期数据库 问题答案: 请记住,您可以将小时/分钟/秒的整数值转换为单个整数,如下所示: 并转换回: 或者,您可以按以下步骤进行算术零碎:

  • 问题内容: 我有两个数字。例如: 为什么数字不支持算术运算?无论如何,我将如何在Java中将这两个数字相加?(当然,我是从某个地方获取它们的,我不知道它们是Integer还是float等)。 问题答案: 你不知道数字是整数还是浮点数…使用该类时,编译器也不知道你的数字是整数,浮点数还是其他东西。结果,像+和-这样的基本数学运算符不起作用;计算机将不知道如何处理这些值。 开始编辑 根据讨论,我认为一

  • 问题内容: 条件:请勿修改原始清单;仅JDK,无外部库。一线或JDK 1.3版本的加分点。 有没有比以下更简单的方法: 问题答案: 你可以使用Apache commons-collections库:

  • 下面的代码是一个按钮的方法。 它总是给我一个错误。 如果我删除,那么它可以正常工作。 当我单击按钮时,如何使用POST方法,并移动到另一个活动? 错误:04-27 19:41:26.066 197 4-1974/com.opshun_test.opshun_test e/androidruntime:致命异常:main process:com.opshun_test.opshun_test,pid

  • 问题内容: 我正在尝试在python中添加两个分数 如果输入1/4 + 1/4,我期望得到1/2结果 我用加法建立了一个分数类 但是我得到的输出是2,4,实际上是1/2,只是没有简化。我该如何解决这个问题? 问题答案: 简化分数的一般方法是找到分子和分母的最大公约数,然后将两者除以

  • 我想计算应用程序内的端口号。像这样的属性: 但当我启动Spring Boot应用程序时,我得到的只是一个执行选项。 参考指南的数学运算符部分建议它应该工作,但事实并非如此。 在Spring内部,它甚至可以调用: 但这里面没有逻辑来识别这是SpEL。就好像它根本没认出是斯佩尔。但是,如果我将表达式更改为#{n1${myapp.web.server.port.ssl}},则会出现以下异常,表明它被评估