NullPointerExceptions - это ошибки программирования по своей природе.
Что вы можете сделать, если данный массив равен нулю? А. пропустите проверку. Лучшая альтернатива - вернуть пустой массив:
public Object [] getMyObjects() {
/// do a lot of stuff
if( nothingToReturn() ){
return new Object[0];
} else {
return nonNullArray;
}
}
So
if( x.length > 0 )
Никогда не бросает Npe на первое место.
Хотя было бы неплохо, очень скоро вы поймете, что ваш код будет нечитаемым.
Вот почему " инкапсуляция " является таким важным понятием в ООП (так что другие объекты не аннулируют ваши данные).
Я думаю, что было бы справедливо проверить, возвращают ли внешние классы ноль или нет (что, кстати, должно быть хорошо задокументировано), но для внутренних методов реальная проблема заключается в том, что собственный объект не знает состояния своих переменных экземпляра .
ПРИМЕЧАНИЕ Это было слишком много для комментария, поэтому я вместо этого предоставил ответ CW.