Spec-Zone.ru › Dart 1

dart:math

Свойство hashCode

int hashCode

Хэш-код этого объекта.

Хэш-код — это целое число, представляющее состояние объекта, которое влияет на == сравнения.

Все объекты имеют хэш-коды. По умолчанию хэш-код представляет только идентичность объекта, так же как по умолчанию == реализация считает объекты равными только если они идентичны (см. identityHashCode).

Если == переопределён для использования состояния объекта вместо этого, хэш-код также должен быть изменён для отражения этого состояния.

Хэш-коды должны быть одинаковыми для объектов, которые равны друг другу в соответствии с ==. Хэш-код объекта должен изменяться только в том случае, если объект изменяется таким образом, что это влияет на равенство. Нет дополнительных требований к хэш-кодам. Они не должны быть согласованными между выполнениями одной и той же программы, и нет гарантий распределения.

Объектам, которые не равны, разрешается иметь одинаковый хэш-код, даже технически разрешено, что все экземпляры имеют одинаковый хэш-код, но если коллизии происходят слишком часто, это может снизить эффективность структур данных, основанных на хэш-таблицах, таких как HashSet или HashMap.

Если подкласс переопределяет hashCode, он также должен переопределять оператор == для поддержания согласованности.

Исходный код

int get hashCode => _JenkinsSmiHash.hash4(
    left.hashCode, top.hashCode, right.hashCode, bottom.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-math/Rectangle/hashCode.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API