Spec-Zone.ru › Scala 3.2

Класс Symbol.Symbol

Объект-компаньон • Исходный код

final class Symbol extends Serializable

Этот класс предоставляет простой способ получения уникальных объектов для равных строк. Поскольку символы интернированы, их можно сравнивать с использованием равенства ссылок.

Суперадресаты
тракт Serializable
класс Object
тракт Matchable
класс Any

Конкретные методы

Исходный код
override def equals(other: Any): Boolean

Сравнивает объект-получатель (this) с объектом-аргументом (that) на эквивалентность.

Любая реализация этого метода должна быть отношением эквивалентности:

- Она является рефлексивной: для любого экземпляра x типа Any, x.equals(x) должно возвращать true. - Она является симметричной: для любых экземпляров x и y типа Any, x.equals(y) должно возвращать true, если и только если y.equals(x) возвращает true. - Она является транзитивной: для любых экземпляров x, y, и z типа Any, если x.equals(y) возвращает true и y.equals(z) возвращает true, то x.equals(z) должно возвращать true.

Если вы переопределяете этот метод, вы должны проверить, что ваша реализация остается отношением эквивалентности. Кроме того, при переопределении этого метода обычно необходимо переопределить hashCode, чтобы гарантировать, что объекты, которые являются «равными» (o1.equals(o2) возвращает true) хешируются до одного и того же scala.Int. (o1.hashCode.equals(o2.hashCode)).

Параметры значения
that

объект для сравнения с этим объектом на равенство.

Возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Классы определений Any

Исходный код
override def hashCode: Int

Вычислить значение хэша для объекта.

По умолчанию алгоритм хеширования зависит от платформы.

Обратите внимание, что разрешается, чтобы у двух объектов были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)), но они не были равны (o1.equals(o2) возвращает false). Вырожденная реализация могла бы всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода обязательно проверьте, что поведение согласуется с методом equals.

Возвращает

значение хэша для этого объекта.

Классы определений Any

Исходный код
override def toString(): String

Строковое представление этого символа.

Классы определений Any

Конкретные поля

Исходный код
val name: String

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/Symbol.html

Spec-Zone.ru

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