gpt4 book ai didi

java - 允许空指针异常广告克服它的最佳方法

转载 作者:行者123 更新时间:2023-12-01 17:54:18 26 4
gpt4 key购买 nike

我希望使用复杂 xml 对象中的一些值来填充对象。为了获得正确的值,我必须遍历一大串元素,并且必须检查它们是否全部不为空。所以我的代码看起来像这样 X 9 次。我不想仅仅因为缺少一个元素就停止填充过程,我想以某种方式“跳过”空指针并进入下一个适当的位置。我唯一的想法是将每一行放在 try/catch block 中。有更好的想法吗?谢谢

objModel.setProviderHeadquarterName(obj.getObject("YYY") != null && obj.getObject("YYY").getArray("gob") != null && obj.getObject("YYY").getArray("gob").size() > 0 && obj.getObject("YYY").getArray("gob") != null ? obj.getObject("YYY").getArray("gob").getObject(0).getString("gobValue") : "");
objModel.setProviderHeadquarterName(obj.getObject("XXX") != null && obj.getObject("XXX").getArray("tem") != null && obj.getObject("XXX").getArray("tem").size() > 0 && obj.getObject("XXX").getArray("tem") != null ? obj.getObject("XXX").getArray("tem").getObject(0).getString("temValue") : "");
objModel.setProviderHeadquarterName(obj.getObject("ZZZ") != null && obj.getObject("ZZZ").getArray("has") != null && obj.getObject("ZZZ").getArray("has").size() > 0 && obj.getObject("ZZZ").getArray("has") != null ? obj.getObject("ZZZ").getArray("has").getObject(0).getString("hasValue") : "");

怎么可以

最佳答案

您可以将其包装在 Optional 中并隐式处理空值:

Optional.of(obj).map(o -> o.getObject("YYY")).map(o -> o.getArray("gob")) /* [snip] */
.orElse(""); //etc

关于java - 允许空指针异常广告克服它的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46564268/

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