Особенность scala.Product7
Компаньон объект Product7
trait Product7[+T1, +T2, +T3, +T4, +T5, +T6, +T7] extends Product
Абстрактные члены-значения
абстрактный метод _1: T1
Проекция элемента 1 этого Product.
- возвращает
Проекция элемента 1.
абстрактный метод _2: T2
Проекция элемента 2 этого Product.
- возвращает
Проекция элемента 2.
абстрактный метод _3: T3
Проекция элемента 3 этого Product.
- возвращает
Проекция элемента 3.
абстрактный метод _4: T4
Проекция элемента 4 этого Product.
- возвращает
Проекция элемента 4.
абстрактный метод _5: T5
Проекция элемента 5 этого Product.
- возвращает
Проекция элемента 5.
абстрактный метод _6: T6
Проекция элемента 6 этого Product.
- возвращает
Проекция элемента 6.
абстрактный метод _7: T7
Проекция элемента 7 этого Product.
- возвращает
Проекция элемента 7.
абстрактный метод canEqual(that: Any): Boolean
Метод, который должен вызываться в каждом хорошо спроектированном методе equals, который может быть переопределён в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.
- that
значение, проверяемое на возможное равенство
- возвращает
true, если этот экземпляр потенциально может быть равен
that, иначе false
- Определяющие классы
- Equals
абстрактный метод getClass(): Class[_ <: AnyRef]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
- Определяющие классы
- Any
Члены конкретных значений
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- возвращает
trueесли !(this == that), иначе false.
- Классы-определения
- Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел он возвращает хэш-значение, которое соответствует равенству значений: если два экземпляра типа значения сравниваются как true, то ## выведет одинаковое хэш-значение для каждого из них. Для null возвращает хэш-код, где null.hashCode генерирует NullPointerException.
- возвращает
хэш-значение, согласованное с ==
- Классы-определения
- Any
def +(other: String): String
- Неявный
- Этот член добавляется неявным преобразованием из Product7[T1, T2, T3, T4, T5, T6, T7] в any2stringadd[Product7[T1, T2, T3, T4, T5, T6, T7]] производимый методом any2stringadd в scala.Predef.
- Классы-определения
- any2stringadd
def ->[B](y: B): (Product7[T1, T2, T3, T4, T5, T6, T7], B)
- Неявный
- Этот член добавлен неявным преобразованием из Product7[T1, T2, T3, T4, T5, T6, T7] в ArrowAssoc[Product7[T1, T2, T3, T4, T5, T6, T7]] с помощью метода 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в противном случае.
- Классы определений
- Any
final def asInstanceOf[T0]: T0
Приведение объекта-получателя к типу T0.
Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания в Scala. Следовательно, выражение 1.asInstanceOf[String] бросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] этого не сделает. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.
- возвращает
объект-получатель.
- Классы определений
- Any
- Исключения
ClassCastExceptionесли объект-получатель не является экземпляром стираемого типаT0.
def ensuring(cond: (Product7[T1, T2, T3, T4, T5, T6, T7]) => Boolean, msg: => Any): Product7[T1, T2, T3, T4, T5, T6, T7]
- Неявный
- Этот член добавлен неявным преобразованием из Product7[T1, T2, T3, T4, T5, T6, T7] в Ensuring[Product7[T1, T2, T3, T4, T5, T6, T7]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (Product7[T1, T2, T3, T4, T5, T6, T7]) => Boolean): Product7[T1, T2, T3, T4, T5, T6, T7]
- Неявный
- Этот член добавлен неявным преобразованием из Product7[T1, T2, T3, T4, T5, T6, T7] в Ensuring[Product7[T1, T2, T3, T4, T5, T6, T7]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Product7[T1, T2, T3, T4, T5, T6, T7]
- Неявное
- Этот член добавлен неявным преобразованием из Product7[T1, T2, T3, T4, T5, T6, T7] вEnsuring[Product7[T1, T2, T3, T4, T5, T6, T7]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Product7[T1, T2, T3, T4, T5, T6, T7]
- Неявное
- Этот член добавлен неявным преобразованием из Product7[T1, T2, T3, T4, T5, T6, T7] вEnsuring[Product7[T1, T2, T3, T4, T5, T6, T7]] с помощью метода 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в противном случае.
- Definition Classes
- Any
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной format строкой. Форматные строки аналогичны String.format (@see java.lang.String.format).
- Implicit
- Этот член добавлен с помощью неявного преобразования из Product7[T1, T2, T3, T4, T5, T6, T7] в StringFormat[Product7[T1, T2, T3, T4, T5, T6, T7]], выполненное методом 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
значение кода хеширования для этого объекта.
- Definition Classes
- Any
final def isInstanceOf[T0]: Boolean
Проверить, является ли динамический тип объекта-приёмника T0.
Обратите внимание, что результат проверки производится с учётом правил стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, так как тип аргумента стирается во время компиляции, нельзя проверить, принадлежат ли элементы списка указанному типу.
- returns
trueесли объект-приёмник является экземпляром стираемого типаT0;falseв противном случае.
- Definition Classes
- Any
def productArity: Int
def productElement(n: Int): Any
Возвращает n-ю проекцию этого произведения, если 0 <= n < productArity, в противном случае выбрасывает IndexOutOfBoundsException.
- n
номер проекции для возврата
- returns
то же, что и
._(n+1), например,productElement(0)то же, что и._1.
- Definition Classes
- Product7 → Product
- Annotations
- @throws(classOf[IndexOutOfBoundsException])
- Exceptions thrown
IndexOutOfBoundsException, если индексnнаходится вне допустимого диапазона (n < 0 || n >= 7).
def productElementName(n: Int): String
Имя n-го элемента этого произведения, нумерация с 0. В стандартной реализации — пустая строка.
- n
индекс имени элемента, которое требуется вернуть
- returns
имя указанного элемента
- Definition Classes
- Product
- Exceptions thrown
IndexOutOfBoundsExceptionесли индексnвыходит за пределы допустимого диапазона (n < 0 || n >= productArity).
def productElementNames: Iterator[String]
Итератор по именам всех элементов этого произведения.
- Definition Classes
- Product
def productIterator: Iterator[Any]
Итератор по всем элементам этого произведения.
- returns
в реализации по умолчанию,
Iterator[Any]
- Definition Classes
- Product
def productPrefix: String
Строка, используемая в toString методах производных классов. Реализации могут переопределять этот метод, чтобы добавить строковый префикс к результату toString методов.
- returns
в реализации по умолчанию, пустая строка
- Definition Classes
- Product
def toString(): String
Возвращает строковое представление объекта.
Стандартное представление зависит от платформы.
- returns
строковое представление объекта.
- Definition Classes
- 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/Product7.html
Product7 представляет собой декартово произведение 7 компонентов.
2.3