Spec-Zone.ru › Dart 2

dart:html

Свойство hashCode

int hashCode

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

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

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

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

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

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

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

Реализация

int get hashCode => Object.hash(left, top, width, height);

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-html/DomRectReadOnly/hashCode.html

Spec-Zone.ru

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