gpt4 book ai didi

java - Neo4J-Java : Result incomplete

转载 作者:行者123 更新时间:2023-11-30 03:41:57 27 4
gpt4 key购买 nike

当我尝试在 java 应用程序中执行密码查询时,遇到了一个奇怪的问题。result.dumpToString()- 方法向我显示了正确的结果。但是当我尝试迭代时,最后一个节点总是丢失(对于每个执行的查询):

for (Map<String, Object> row : result) {    
System.out.println(((Node) row.get("A")));
System.out.println(((Node) row.get("A")).getProperty("name").toString());
}

第一个输出是正确的。我看到结果的所有节点。在第二个输出中,缺少一个节点,尽管我知道该节点具有“名称”属性。

有人有想法吗?谢谢

最佳答案

如果您缺少第二个输出,则该属性的值可能是一个空白字符串。这一行:

System.out.println(((Node) row.get("A")).getProperty("name").toString()); 

如果属性“name”为空,则不会打印任何内容(除了换行符)。

而且,你这样做的方式有点危险;请记住,通常节点可能会丢失,因此 getProperty("name") 可能会返回 null。这意味着当您对其调用 toString() 时,最终可能会出现 NullPointerException。最好这样写:

row.get("A").getProperty("name", "missing").toString();

如果属性丢失,将返回“missing”,或者:

Object propValue = row.get("A").getProperty("name");
if(propValue != null)
System.out.println(propValue.toString());
else System.out.println("Missing name property");

关于java - Neo4J-Java : Result incomplete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26634870/

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