Свойство hashCode
int hashCodeХэш-код этого объекта.
Хэш-код — это целое число, которое представляет состояние объекта, влияющее на == сравнения.
Все объекты имеют хэш-коды. По умолчанию хэш-код представляет только идентификатор объекта, так же как реализация == по умолчанию считает объекты равными только в случае их идентичности (см. identityHashCode).
Если == переопределено для использования состояния объекта вместо идентификатора, то хэш-код также должен быть изменён, чтобы отражать это состояние.
Хэш-коды должны быть одинаковыми для объектов, которые равны друг другу согласно ==. Хэш-код объекта должен изменяться только в том случае, если объект меняется таким образом, что это влияет на равенство. Нет дополнительных требований к хэш-кодам. Они не должны быть согласованными между запусками одной и той же программы, и нет гарантий распределения.
Объекты, которые не равны, могут иметь одинаковый хэш-код, и даже технически возможно, что все экземпляры имеют один и тот же хэш-код, но если столкновения случаются слишком часто, это может снизить эффективность структур данных, основанных на хэшировании, таких как HashSet или HashMap.
Если подкласс переопределяет hashCode, он также должен переопределить оператор ==, чтобы сохранить согласованность.
Исходный код
int get hashCode => _duration.hashCode;
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/Duration/hashCode.html