Вы правы относительно порядка проверки - если переменная имеет значение null, вызов .equals для строковой константы предотвратит NPE - но я не уверен, что считаю это хорошей идеей;Лично я называю это «отстой».
Отстой - это когда вы не обнаруживаете ненормальное состояние, но на самом деле создаете привычки, чтобы лично избежать его обнаружения.Передача нулевого значения в виде строки в течение длительного периода времени может в конечном итоге привести к ошибкам, которые могут быть неясными и трудными для поиска.
Кодирование для slop противоположно «Fail fast fail fail hard».
Использование нулевого значения в качестве строки может иногда приводить к значению «Специального» значения, но тот факт, что вы пытаетесь сравнить его с чем-то, указывает на то, что ваше понимание системы неполно (в лучшем случае) - чем раньше вы найдетечем больше фактов, тем лучше.
С другой стороны, сделать все переменные окончательными по умолчанию, использовать общие параметры и свести к минимуму видимость всех объектов / методов - это привычки, которые уменьшают спад.