В зависимости от того, как «оборонительный» вам нужен код, чтобы быть технически вы могли необходимости проверять null
на все, что потенциально может быть null
. В крайнем случае это любой объект, который вы де-ссылку. Например ...
Can syIntBVOList
be null
? Затем вам нужно проверить перед вами разыменовываются его:
if (syIntBVOList == null) {
return;
}
SomeType variable = syIntBVOList.get(0);
Может быть variable
null
? Может ли его литая версия быть null
?
SyIntBVO anotherVariable = ((SyIntBVO)variable);
if (anotherVariable == null) {
return;
}
Может getSource()
возвращение null
? Та же картина. И так далее ...
Это действительно ваш код, который может или не может быть потенциально null
. Если какой-либо из этих экземпляров объекта, независимо от того, хранится ли он в переменной или имеет ссылку непосредственно в строке, может быть null
, тогда вы хотите проверить эту ссылку null
перед ее ссылкой.
(Примечание:.. Это часто считается анти-моделью для метода, который должен вернуть экземпляр иногда возвращать null
именно по этой причине, так как он требует потребляя кода, чтобы быть этим оборонительным)
.getSource() возвращает null? – user4682137
Тогда первое решение поможет вам – Timo
Большое спасибо – user4682137