Spec-Zone.ru › Scala 2.12 Library

Класс scala.Any

abstract class 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()

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

Члены-значения абстрактного типа

abstract def getClass(): Class[_]

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

returns

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

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

final def !=(arg0: Any): Boolean

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

returns

true если !(this == that), в противном случае false.

final def ##(): Int

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

returns

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

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).

returns

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

final def asInstanceOf[T0]: T0

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

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

returns

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

Исключения

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 (@см. java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из Any в StringFormat[Any] выполненное методом StringFormat в scala.Predef.
Definition Classes
StringFormat
Аннотации
@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

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

def →[B](y: B): (Any, B)

Неявный
Этот член добавлен неявным преобразованием из Any в ArrowAssoc[Any] выполненное методом ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc

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

Spec-Zone.ru

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