gpt4 book ai didi

java - 空指针无处不在,因为数据突然变得稀疏

转载 作者:搜寻专家 更新时间:2023-11-01 01:00:57 25 4
gpt4 key购买 nike

有人设计了依赖完整数据的代码; XML 总是包含所有元素。数据源现在正在发送稀疏 XML;如果它以前是空的,现在就不见了。因此,是时候在修复错误的同时进行重构了。

有 100 多行代码是这样的:

functionDoSomething(foo, bar, getRoot().getChild("1").getChild("A").
getChild("oo").getContent());

除了现在,getChild("A") 可能会返回 null。或者任何 getChild(xxx) 方法都可以。

作为一个额外的变化,实际上有四种单独的方法,而不是 getChild(),它们只能按特定顺序出现。有人建议使用 varargs 调用,这不是一个坏主意,但不会像我希望的那样干净利落地工作。

清理这个最快的方法是什么?最好的?建议在每一行周围使用“try/catch”,但是伙计,这太丑陋了。将上述方法的第三个参数分解为它自己的函数可能行得通……但这将需要 100 多个新方法,这感觉很丑陋,尽管不那么丑陋。

getChild(xxx) 调用的次数在每行 6 到 10 次之间,没有固定的深度。也没有办法为此获得正确的 DTD;稍后会在没有事先提醒的情况下添加内容,并且我希望在发生这种情况时在日志中发出警告,需要妥善处理 XML 中的额外行。

想法?

getChild() 实际上是一种方便的方法。我想到的最简洁的方法是让便捷方法返回一个有效的 Child 对象,但让“空”Child 的 getContent() 始终返回“”。

最佳答案

请考虑使用 XPATH 而不是这个烂摊子。

关于java - 空指针无处不在,因为数据突然变得稀疏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1683698/

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