Spec-Zone.ru › Scala 2.13 Library

Класс scala.Any

абстрактный класс Any

Класс Any является корнем иерархии классов Scala. Каждый класс в среде выполнения Scala наследуется непосредственно или косвенно от этого класса.

Начиная со Scala 2.10, можно напрямую расширять Any с помощью универсальных трейтов. Универсальный трейт — это трейт, который расширяет Any, имеет только def в качестве членов и не выполняет инициализацию.

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

trait Printable extends Any {
  def print(): Unit = println(this)
}
class Wrapper(val underlying: Int) extends AnyVal with Printable

val w = new Wrapper(3)
w.print()

См. Классы значений и универсальные трейты для получения более подробной информации о взаимодействии универсальных трейтов и классов значений.

Абстрактные члены-значения

абстрактный def getClass(): Class[_ <: AnyRef]

Возвращает представление класса объекта во время выполнения.

returns

объект класса, соответствующий типу получателя во время выполнения.

Члены-значения конкретных типов

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), иначе false.

final def ##(): Int

Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, соответствующее равенству значений: если два экземпляра типа значения сравниваются как true, то ## вернет одинаковое значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode выбрасывает NullPointerException.

возвращает

значение хэша, согласованное с ==

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из Any вany2stringadd[Any] с помощью метода any2stringadd в scala.Predef.
Определение классов
any2stringadd

def ->[B](y: B): (Any, B)

Неявный
Этот член добавлен неявным преобразованием из Any вArrowAssoc[Any] с помощью метода ArrowAssoc в scala.Predef.
Определение классов
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Проверка двух объектов на равенство. Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

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

final def asInstanceOf[T0]: T0

Преобразование объекта-получателя к типу T0.

Обратите внимание, что успех преобразования во время выполнения зависит от стирания семантики Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка запрошенному типу.

возвращает

объект-получатель.

Исключения

ClassCastException если объект-получатель не является экземпляром стирания типа T0.

def ensuring(cond: (Any) => Boolean, msg: => Any): Any

Неявный
Этот член добавлен неявным преобразованием из Any вEnsuring[Any] с помощью метода Ensuring в scala.Predef.
Определение классов
Ensuring

def ensuring(cond: (Any) => Boolean): Any

Неявный
Этот член добавлен неявным преобразованием из Any вEnsuring[Any] с помощью метода Ensuring в scala.Predef.
Определение классов
Ensuring

def ensuring(cond: Boolean, msg: => Any): Any

Неявный
Этот член добавлен неявным преобразованием из Any вEnsuring[Any] с помощью метода Ensuring в scala.Predef.
Определение классов
Ensuring

def ensuring(cond: Boolean): Any

Неявный
Этот член добавлен неявным преобразованием из Any вEnsuring[Any] с помощью метода Ensuring в scala.Predef.
Определение классов
Ensuring

def equals(arg0: 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)).

returns

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

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки форматирования аналогичны String.format (@see java.lang.String.format).

Неявный
Этот член добавлен с помощью неявного преобразования из Any вStringFormat[Any] выполненное методом StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

def hashCode(): Int

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

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

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

returns

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

final def isInstanceOf[T0]: Boolean

Проверяет, является ли динамический тип объекта-получателя T0.

Обратите внимание, что результат проверки выполняется с учётом стирания типов в Scala. Следовательно, выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку тип аргумента стёрся во время компиляции, проверить, содержатся ли элементы списка в указанном типе, невозможно.

returns

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

def toString(): String

Возвращает строковое представление объекта.

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

returns

строковое представление объекта.

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/Any.html

Spec-Zone.ru

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