Я реализую equals() путь Java 7:
@Override
public boolean equals(Object obj)
{
if (this == obj) return true;
if (obj == null) return false;
if (getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return Objects.equal(myFirstField, other.myFirstField) &&
Objects.equal(mySecondField, other.mySecondField);
}
Есть ли способ уменьшить дублирование кода?
Я бы предпочел что-то вроде
@Override
public boolean equals(Object obj)
{
if (Objects.equalsEarlyExit(this, obj)) return Objects.equalstEarlyExitResult(this, obj);
MyClass other = (MyClass) obj;
return Objects.equal(myFirstField, other.myFirstField) &&
Objects.equal(mySecondField, other.mySecondField);
}
Или аналогичный.