gpt4 book ai didi

java - 对 NullPointerException、JAVA 8 进行多次检查的替代方法

转载 作者:行者123 更新时间:2023-12-01 06:49:09 24 4
gpt4 key购买 nike

有没有更好的方法在 JAVA 8 中进行编码?

    if (info1 != null && info1.getId() != null && info1.getPartyNumber()!= null) {
billing.setSenderId(info1.getId());
billing.setSenderNumber(info1.getPartyNumber());
}
if (info2 != null && info2.getId() != null && info2.getPartyNumber()!= null) {
billing.setReceiverId(info2.getId());
billing.setSellerNumber(info2.getPartyNumber());
}

..
..

提前致谢。注意:我研究了 Optional.ofNullable() 但不确定这是否真的可以帮助进行多次检查?

最佳答案

这是我能想到的最好的办法。我会让你决定它是否更干净:

Optional<Info> oInfo1 = Optional.ofNullable(info1);
oInfo1.map(Info::getId).ifPresent(billing::setSenderId);
oInfo1.map(Info::getPartyNumber).ifPresent(billing::setSenderNumber);

Optional<Info> oInfo2 = Optional.ofNullable(info2);
oInfo2.map(Info::getId).ifPresent(billing::setReceiverId);
oInfo2.map(Info::getPartyNumber).ifPresent(billing::setSellerNumber);

请注意,这与原始版本略有不同,因为即使另一个字段为空,它也可能会设置一个字段。

关于java - 对 NullPointerException、JAVA 8 进行多次检查的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52122679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com