Sobes.tech
Junior — Middle
111

Wie implementierst du die Methode hashCode in deinen Objekten?

Antwort von AI

sobes.tech KI

Метод hashCode реализую так, чтобы он возвращал целочисленное значение, основанное на значимых полях объекта. Важно, чтобы:

  • Для равных объектов hashCode был одинаковым
  • Для разных объектов желательно получать разные хеши

Пример реализации в Java с использованием нескольких полей:

@Override
public int hashCode() {
    int result = 17;
    result = 31 * result + (field1 != null ? field1.hashCode() : 0);
    result = 31 * result + field2;
    // добавляем другие значимые поля
    return result;
}

Использование простого умножения на простое число (например, 31) помогает уменьшить коллизии.