Я не считаю ваш ответ правильным. Вы только доказываете, что два объекта равны (кстати, если объекты равны, они должны иметь одинаковые hashCode()
, второе сравнение избыточно).
Я думаю, что правильное решение состоит в том, чтобы иметь один первичный конструктор и делегировать ему все остальные конструкторы, вызывая this(...)
. Если все неосновные конструкторы настолько коротки, насколько это возможно, скорее всего, все они будут вести себя одинаково, поскольку все они делегируют один и тот же код.
И, конечно, юнит-тестирование также могло быть правильным ответом.