gpt4 book ai didi

Java - 当前节点的空检查

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

我对 Java 还很陌生,所以请耐心等待。我有一小段代码检查 currentNode 是否具有“fileReference”属性并返回其值。除了我的空检查似乎不起作用,因为如果 fileReference 中没有任何内容我收到一个错误。如果存在对 fileReference 的引用,则它可以正常工作。这是错误:

Caused by: javax.jcr.PathNotFoundException: fileReference

这是我的代码:

    if(currentNode != null){
NodeIterator checkNode = currentNode.getNodes();

while (checkNode.hasNext()) {
Node imageNode = checkNode.nextNode();
printNodeTitle = imageNode.getProperty("fileReference").getString();
}
}

public String getImageNode() { (printNodeTitle != null) ? return printNodeTitle : return ""; }

非常感谢任何帮助!

最佳答案

我非常有信心 fileReference 实际上是一个属性,而不是一个单独的节点(因为您正在调用属性)。由于您知道想要获取的属性的名称,因此我建议直接获取它,并检查它是否存在。

if(currentNode != null){
NodeIterator checkNode = currentNode.getNodes();

while (checkNode.hasNext()) {
Node imageNode = checkNode.nextNode();
if(imageNode.hasProperty("fileReference")){
Property fileReferenceProp = imageNode.getProperty("fileReference");
printNodeTitle = fileReferenceProp.getString();
}
}
}

我假设您在其他地方处理可能的存储库异常

关于Java - 当前节点的空检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16491457/

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