В Java запрещено использовать null в методах, которые представляют необязательные параметры, по нескольким причинам:
- Невозможность указать в системе типов, разрешено ли значение null. softwareengineering.stackexchange.com Значение по умолчанию для неинициализированной ссылки равно null. softwareengineering.stackexchange.com Это означает, что ссылка может быть нулевой по двум причинам: произошла ошибка, и значение не было инициализировано должным образом, или значение намеренно равно null, чтобы указать на отсутствие необязательного значения. softwareengineering.stackexchange.com Поскольку код не может провести различие между этими двумя случаями, ошибка может остаться незамеченной. softwareengineering.stackexchange.com
- Необходимость документировать, что null является допустимым значением. softwareengineering.stackexchange.com Кроме того, человеку, использующему метод, придётся постоянно обращаться к документации, чтобы узнать, может ли этот параметр иметь значение null. softwareengineering.stackexchange.com
Для представления необязательных параметров в Java рекомендуется использовать другие подходы, например, перегрузку метода, когда в классе одна и та же сигнатура метода определяется несколько раз с разными параметрами. nuancesprog.ru