Метод hash класса Objects
Метод hash класса Objects вычисляет и возвращает хеш-код для последовательности переданных объектов. Метод принимает переменное число параметров (varargs). Если хотя бы один из переданных объектов равен null, метод возвращает 0. В противном случае он комбинирует хеш-коды всех объектов по специальному алгоритму. Этот метод удобно использовать для вычисления хеш-кода в переопределенном методе hashCode, когда объект содержит несколько полей.
Синтаксис
Objects.hash(obj1, obj2, ...)
Пример
Давайте вычислим хеш-код для набора из трех чисел:
import java.util.Objects;
public class Main
{
public static void main(String[] args)
{
int hash = Objects.hash(1, 2, 3);
System.out.println(hash);
}
}
Результат выполнения кода:
30817
Пример
Давайте вычислим хеш-код для набора из трех строк:
import java.util.Objects;
public class Main
{
public static void main(String[] args)
{
int hash = Objects.hash("abcde", "12345", "test");
System.out.println(hash);
}
}
Результат выполнения кода:
2023305864
Пример
Давайте проверим, что метод возвращает 0, если хотя бы один из объектов равен null:
import java.util.Objects;
public class Main
{
public static void main(String[] args)
{
int hash = Objects.hash("abcde", null, "12345");
System.out.println(hash);
}
}
Результат выполнения кода:
0
Смотрите также
-
метод
hashCode,
который возвращает хеш-код объекта -
метод
equals,
который сравнивает объекты -
метод
toString,
который возвращает строковое представление -
метод
requireNonNull,
который проверяет объект на null