Junior — Middle
105
Hogyan valósítod meg a hashCode metódust a saját objektumaidban?
Válasz az MI-től
sobes.tech MI
Метод 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) помогает уменьшить коллизии.