Spec-Zone.ru › Scala 2.13 Library

Трейт scala.Product

trait Product extends Equals

Базовый трейт для всех продуктов, которые в стандартной библиотеке включают как минимум scala.Product1 до scala.Product22 и, следовательно, также их подклассы scala.Tuple1 до scala.Tuple22. Кроме того, все case-классы реализуют Product со синтетически сгенерированными методами.

Source
Product.scala
Since

2.3

Линейные супертипы
Equals, Any
Известные подклассы
None, Option, Product1, Product10, Product11, Product12, Product13, Product14, Product15, Product16, Product17, Product18, Product19, Product2, Product20, Product21, Product22, Product3, Product4, Product5, Product6, Product7, Product8, Product9, ScalaReflectionException, Some, StringContext, Tuple1, Tuple10, Tuple11, Tuple12, Tuple13, Tuple14, Tuple15, Tuple16, Tuple17, Tuple18, Tuple19, Tuple2, Tuple20, Tuple21, Tuple22, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, Tuple8, Tuple9, UninitializedFieldError, Найден, ТочкаВставки, ПредставлениеСтроки, Пустое, ::, Nil, Вставка, Изменение, Дедлайн, AsJavaBiConsumer, AsJavaBiFunction, AsJavaBiPredicate, AsJavaBinaryOperator, AsJavaBooleanSupplier, AsJavaConsumer, AsJavaDoubleBinaryOperator, AsJavaDoubleConsumer, AsJavaDoubleFunction, AsJavaDoublePredicate, AsJavaDoubleSupplier, AsJavaDoubleToIntFunction, AsJavaDoubleToLongFunction, AsJavaDoubleUnaryOperator, AsJavaFunction, AsJavaIntBinaryOperator, AsJavaIntConsumer, AsJavaIntFunction, AsJavaIntPredicate, AsJavaIntSupplier, AsJavaIntToDoubleFunction, AsJavaIntToLongFunction, AsJavaIntUnaryOperator, AsJavaLongBinaryOperator, AsJavaLongConsumer, AsJavaLongFunction, AsJavaLongPredicate, AsJavaLongSupplier,
AsJavaLongToDoubleFunction, AsJavaLongToIntFunction, AsJavaLongUnaryOperator, AsJavaObjDoubleConsumer, AsJavaObjIntConsumer, AsJavaObjLongConsumer, AsJavaPredicate, AsJavaSupplier, AsJavaToDoubleBiFunction, AsJavaToDoubleFunction, AsJavaToIntBiFunction, AsJavaToIntFunction, AsJavaToLongBiFunction, AsJavaToLongFunction, AsJavaUnaryOperator, FromJavaBiConsumer, FromJavaBiFunction, FromJavaBiPredicate, FromJavaBinaryOperator, FromJavaBooleanSupplier, FromJavaConsumer, FromJavaDoubleBinaryOperator, FromJavaDoubleConsumer, FromJavaDoubleFunction, FromJavaDoublePredicate, FromJavaDoubleSupplier, FromJavaDoubleToIntFunction, FromJavaDoubleToLongFunction, FromJavaDoubleUnaryOperator, FromJavaFunction, FromJavaIntBinaryOperator, FromJavaIntConsumer, FromJavaIntFunction, FromJavaIntPredicate, FromJavaIntSupplier, FromJavaIntToDoubleFunction, FromJavaIntToLongFunction, FromJavaIntUnaryOperator, FromJavaLongBinaryOperator, FromJavaLongConsumer, FromJavaLongFunction, FromJavaLongPredicate, FromJavaLongSupplier, FromJavaLongToDoubleFunction, FromJavaLongToIntFunction, FromJavaLongUnaryOperator, FromJavaObjDoubleConsumer, FromJavaObjIntConsumer, FromJavaObjLongConsumer, FromJavaPredicate, FromJavaSupplier, FromJavaToDoubleBiFunction, FromJavaToDoubleFunction, FromJavaToIntBiFunction, FromJavaToIntFunction,
FromJavaToLongBiFunction, FromJavaToLongFunction, FromJavaUnaryOperator, Either, LeftProjection, Failure, Left, Right, Success, Try, Call, Cont, Done, RightProjection

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

abstract def canEqual(that: Any): Boolean

Метод, который должен вызываться из каждого хорошо спроектированного метода equals, который может быть переопределен в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.

that

значение, проверяемое на возможность равенства

returns

true, если этот экземпляр может быть равен that, в противном случае false

Definition Classes
Equals

abstract def getClass(): Class[_ <: AnyRef]

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

returns

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

Definition Classes
Any

abstract def productArity: Int

Размер этого произведения.

returns

для произведения A(x1, ..., xk), возвращает k

abstract def productElement(n: Int): Any

n-й элемент этого произведения, индексация с нуля. Другими словами, для произведения A(x1, ..., xk), возвращает x(n+1) где 0 <= n < k.

n

индекс возвращаемого элемента

returns

элемент n элементов после первого элемента

Exceptions thrown

IndexOutOfBoundsException, если n находится вне диапазона (n < 0 || n >= productArity).

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

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

Implicit
Этот член добавлен неявным преобразованием из Product в any2stringadd[Product] с помощью метода any2stringadd в scala.Predef.
Definition Classes
any2stringadd

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

Implicit
Этот член добавлен неявным преобразованием из Product в ArrowAssoc[Product] с помощью метода ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Annotations
@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

Implicit
Этот член добавлен неявным преобразованием из Product в Ensuring[Product] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

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

Implicit
Этот член добавлен неявным преобразованием из Product в Ensuring[Product] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

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

Implicit
Этот член добавлен неявным преобразованием из Product в Ensuring[Product] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean): Product

Неявный
Этот член добавлен неявным преобразованием из Product вEnsuring[Product] с помощью метода 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) имеют одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)).

возвращает

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

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

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной format строкой. Строки формата аналогичны строкам формата String.format (@см. 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 productElementName(n: Int): String

Имя n-го элемента этого произведения, индексация с 0. В реализации по умолчанию, пустая строка.

n

индекс элемента для возврата имени

возвращает

имя указанного элемента

Исключения

IndexOutOfBoundsException если индекс n находится вне допустимого диапазона (n < 0 || n >= productArity).

def productElementNames: Iterator[String]

def productIterator: Iterator[Any]

Итератор по всем элементам этого произведения.

возвращает

в реализации по умолчанию, итератор Iterator[Any]

def productPrefix: String

Строка, используемая в методах toString производных классов. Реализации могут переопределить этот метод, чтобы добавить префикс к результату методов toString.

возвращает

в реализации по умолчанию, пустая строка

def toString(): String

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

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

возвращает

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

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

© 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/Product.html

Spec-Zone.ru

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