Трейт scala.Product
trait Product extends Equals
Абстрактные члены
abstract def canEqual(that: Any): Boolean
Метод, который следует вызывать из каждого хорошо спроектированного метода equals, который может быть переопределен в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.
- that
значение, которое проверяется на возможность равенства
- returns
true, если этот экземпляр может быть равен
that, иначе false
- Definition Classes
- Equals
abstract def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу времени выполнения получателя.
- Definition Classes
- Any
abstract def productArity: Int
Размер этого продукта.
- returns
для продукта
A(x1, ..., xk), возвращаетk
abstract def productElement(n: Int): Any
n-ый элемент этого продукта, нумерация с 0. Другими словами, для продукта A(x1, ..., xk), возвращает x(n+1), где 0 <= n < k.
- n
индекс возвращаемого элемента
- returns
элемент
nэлементов после первого элемента
- Exceptions thrown
Члены-значения конкретного типа
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), в противном случае false.
- Definition Classes
- Any
final def ##(): Int
Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## возвращает одинаковое значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode выбрасывает NullPointerException.
- returns
значение хэша, согласованное с ==
- Definition Classes
- Any
def +(other: String): String
- Явный
- Этот член добавлен неявным преобразованием из Product в any2stringadd[Product] с помощью метода any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ->[B](y: B): (Product, B)
- Явный
- Этот член добавлен неявным преобразованием из Product в ArrowAssoc[Product] с помощью метода ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
Проверка двух объектов на равенство. Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- Any
final def asInstanceOf[T0]: T0
Приведение объекта-получателя к типу T0.
Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] будет выбрасывать ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не будет. В последнем примере, потому что тип аргумента стирается во время компиляции, невозможно проверить, относятся ли содержимое списка к требуемому типу.
- returns
объект-получатель.
- Definition Classes
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стираемого типаT0.
def ensuring(cond: (Product) ⇒ Boolean, msg: ⇒ Any): Product
- Явный
- Этот член добавлен неявным преобразованием из Product в Ensuring[Product] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (Product) ⇒ Boolean): Product
- Явный
- Этот член добавлен неявным преобразованием из Product в Ensuring[Product] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): Product
- Явный
- Этот член добавлен неявным преобразованием из Product в Ensuring[Product] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): Product
- Явный
- Этот член добавлен неявным преобразованием из Product в Ensuring[Product] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- 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)).
- возвращает
trueесли объект получателя эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- Any
def formatted(fmtstr: String): String
Возвращает строку, отформатированную согласно заданной строке format. Форматные строки аналогичны формату String.format (@see java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из Product в StringFormat[Product] в методе StringFormat в scala.Predef.
- Определяющие классы
- 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.
- возвращает
значение хэш-кода для этого объекта.
- Определяющие классы
- Any
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта получателя T0.
Обратите внимание, что результат проверки зависит от стирания типов в Scala. Поэтому выражение 1.isInstanceOf[String] вернет false, в то время как выражение List(1).isInstanceOf[List[String]] вернет true. В последнем примере, из-за стирания типа аргумента во время компиляции невозможно проверить, соответствуют ли содержимое списка указанному типу.
- возвращает
trueесли объект получателя является экземпляром стёртого типаT0;falseв противном случае.
- Определяющие классы
- Any
def productIterator: Iterator[Any]
Итератор по всем элементам этого произведения.
- возвращает
в реализации по умолчанию,
Iterator[Any]
def productPrefix: String
Строка, используемая в методах toString производных классов. Реализации могут переопределить этот метод, чтобы добавить строковый префикс к результату методов toString.
- возвращает
в реализации по умолчанию, пустая строка
def toString(): String
Возвращает строковое представление объекта.
Представление по умолчанию зависит от платформы.
- возвращает
строковое представление объекта.
- Определяющие классы
- Any
def →[B](y: B): (Product, B)
- Неявный
- Этот член добавлен неявным преобразованием из Product в ArrowAssoc[Product] в методе ArrowAssoc в scala.Predef.
- Определяющие классы
- 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/Product.html
Базовый трейт для всех продуктов, которые в стандартной библиотеке включают как минимум scala.Product1 до scala.Product22 и, следовательно, также их подклассы scala.Tuple1 до scala.Tuple22. Кроме того, все case-классы реализуют
Productсо сгенерированными методами.2.3