Класс scala.Any
абстрактный класс Any
Абстрактные члены-значения
абстрактный 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
Класс
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()См. Классы значений и универсальные трейты для получения более подробной информации о взаимодействии универсальных трейтов и классов значений.