Spec-Zone.ru › Dart 1

dart:indexed_db

Свойство hashCode

int hashCode

Код хэширования для этого объекта.

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

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

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

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

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

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

Исходный код

int get hashCode native "JSObject_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-indexed_db/Database/hashCode.html

Spec-Zone.ru

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