gpt4 book ai didi

java - 文档对象上的 .remove 是否会导致 null?

转载 作者:行者123 更新时间:2023-12-02 10:28:30 25 4
gpt4 key购买 nike

在我的 java webagent 中,我创建了一个 Document 对象。例如NotesDocument 文档 = ...;后来我在这个对象上使用了删除:

document.remove(true);

之后我想检查文档是否为空,因此通常对该文档进行操作的任何函数都不会被执行

例如:

if(document != null){
System.out.println(document.getItemValueString("ID"));
}

它仍然进入 if 语句及其语句:NotesException:对象已被删除或回收。

在这种情况下!= null 起作用吗?

最佳答案

您已经在此处的内存中创建了一个引用。

NotesDocument document = ...;

...

// Even you called document.remove(), it still exists because the code does not destroy the object and reference itself.

document.remove(true);

// That is why this still works.
if (document != null) {
System.out.println(document.getItemValueString("ID"));
}

您可以在调用 remove() 后显式分配 document = null;(如果您指定这样做)。

或者

您可以检查文档的isDeleted()。例如if (!document.isDeleted())

文档: https://www.ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/reference/r_domino_Document_IsDeleted.html

关于java - 文档对象上的 .remove 是否会导致 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53746910/

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