Почему вы хотите избежать исключения нулевого указателя? Получение null
при ожидании чего-то другого является одним из первых признаков того, что что-то не так, когда вы пишете код. Такие вещи, как Null Object Pattern
, следует использовать, когда вы уверены, что этого достаточно. Одним из самых больших недостатков шаблона проектирования является их злоупотребление \ неправильное использование.
EDIT:
Я думаю, что лучший способ уменьшить нулевой возврат - это увеличить использование исключений. Подумайте о List, возвращающем нулевой объект, когда вы пытаетесь получить доступ к элементу с индексом -1, вы будете использовать такие вещи, как
if( list.get(-1).equals(nullObject))
что еще хуже. Я считаю, что лучше выдвигать исключение, когда аргументы являются либо неожиданными, либо несовместимыми.