Приводит ли .remove к объекту документа значение null? - PullRequest
0 голосов
/ 12 декабря 2018

В моем веб-агенте Java я создаю объект Document.Например, NotesDocument document = ...;позже я использую remove для этого объекта:

document.remove(true);

После этого я хочу проверить, является ли документ нулевым, поэтому любые функции, которые обычно работают с этим документом, не будут выполняться

, например:

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

Он все еще входит в оператор if и говорит: NotesException: Объект был удален или переработан.

В этом случае работает! = Null?

1 Ответ

0 голосов
/ 12 декабря 2018

Вы уже создали ссылку в памяти здесь.

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"));
}

Вы можете явно назначить document = null; после вызова remove(), если это то, что вам предназначено.

Или

Вы можете проверить isDeleted () документа.например, if (!document.isDeleted()).

Документ: https://www.ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/reference/r_domino_Document_IsDeleted.html

...