gpt4 book ai didi

java - 如何避免过多的空比较

转载 作者:行者123 更新时间:2023-12-01 15:49:18 25 4
gpt4 key购买 nike

我正在使用 JENA 框架 来抓取有关公共(public)合约的信息并将其发布为 RDF,但我无法克服以下问题:
创建新的 RDF 模型时,我为每个合约创建新的 Resource ,然后使用 JENA 的 addProperty(Property, RDFNode) 分配一堆属性(我抓取的) addProperty(Property, String) 方法。问题是,某些合约缺少某些属性,因此我得到 NullPointerException
使用

if(contract.getProperty() != null)
{
resource.addProperty(VOCABULARY.property, contract.getProperty());
}

对于每个属性可能不是最好的方法,因为 addProperty() 方法的第二个参数有很大不同(它可以直接是 contract.getProperty(),但有时也可以是 model.createLiteral(contract.getProperty())model.createTypedLiteral(contract.getProperty(), XSDDataType.XSDInt) 等),我无法创建自己的 myAddProperty() 方法我将在其中检查 null 并调用 JENA 的 addProperty()
作为跳过所有空属性的最佳解决方案,您建议什么?
非常感谢您的建议。

最佳答案

将 null 检查重构为单独的方法:

private void addProperty(final Resource resource, final String key, final String value) {
if (value != null) {
resource.addProperty(key, value);
}
}

然后您可以按如下方式使用此方法:

addProperty(resource, VOCABULARY.property, contract.getProperty());

关于java - 如何避免过多的空比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6447022/

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