mapToLong报空指针异常

mapToLong报空指针异常

Exception in thread "main" java.lang.NullPointerException
	at test.collection.TestAuto.lambda$null$0(TestAuto.java:12)
	at java.util.stream.ReferencePipeline$5$1.accept(ReferencePipeline.java:227)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.LongPipeline.reduce(LongPipeline.java:438)
	at java.util.stream.LongPipeline.sum(LongPipeline.java:396)
	at test.collection.TestAuto.lambda$main$1(TestAuto.java:12)
	at test.collection.TestAuto.main(TestAuto.java:13)

Process finished with exit code 1

解决

Stream.of(msgs).mapToLong(s -> Objects.isNull(s) ? 0L : s).sum()

示例代码

package test.collection;

import java.util.Objects;
import java.util.stream.Stream;

public class TestAuto {
    interface Fun2 {
        void sum(Long... msgs);
    }

    public static void main(String[] args) {
        Fun2 fun2 = msgs -> System.out.println(Stream.of(msgs).mapToLong(s -> Objects.isNull(s) ? 0L : s).sum());
        fun2.sum(1L, 2L, 3L, 4L, 999L, null);
    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员鱼丸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值