Можно создать дубликат:
Method Overloading for NULL parameterПерегруженный конструктор с различными аргументами объекта
Быстрый вопрос о "наилучшей практики" при кодировании в Java. У меня есть класс, который может быть построен с двумя разными типами объектов (HashMap или отдельный класс, который я называю SearchTerm). Обычно у меня довольно хорошие обработчики в случае, когда клиент дает пустой аргумент через конструктор, но если это произойдет, виртуальная машина рушится и говорит, что аргумент был неоднозначным. (Это имеет смысл, поскольку нулевой аргумент мог ссылаться на любой объект.)
Как обычно обстоит дело с этими ситуациями? Это плохая форма, позволяющая отдельным объектам в качестве аргументов?
Это ошибка компилятора. В чем проблема? – SLaks
VM должен обрабатывать конструктор для вызова на основе типа аргумента. – Will
@WilliamVanRensselaer - но это не так. Сэл, можете ли вы использовать фабрику для создания этих объектов и отказаться от фабрики, когда аргумент равен нулю? Или, если нулевой регистр действителен, иметь третий конструктор с одним аргументом меньше, чем на фабрике. –