Spec-Zone.ru › Scala 2.12 Library

Трейт scala.Product2

Компонент объект Product2

трейт Product2[+T1, +T2] extends Product

Product2 — это декартово произведение из 2 компонентов.

Источник
Product2.scala
С тех пор

2.3

Линейные супертипы
Известные подклассы

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

абстрактный def _1: T1

Проекция элемента 1 этого Product.

возвращает

Проекцию элемента 1.

абстрактный def _2: T2

Проекция элемента 2 этого Product.

возвращает

Проекцию элемента 2.

абстрактный def canEqual(that: Any): Boolean

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

that

Значение, проверяемое на возможную эквивалентность

возвращает

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

Определения классов
Equals

абстрактный def getClass(): Class[_]

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

возвращает

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

Определения классов
Any

Члены конкретных значений

final def !=(arg0: Any): Boolean

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

возвращает

true если !(this == that), иначе false.

Definition Classes
Any

final def ##(): Int

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

возвращает

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

Definition Classes
Any

def +(other: String): String

Неявный
Этот член добавляется неявным преобразованием из Product2[T1, T2] в any2stringadd[Product2[T1, T2]] выполненным методом any2stringadd в scala.Predef.
Definition Classes
any2stringadd

def ->[B](y: B): (Product2[T1, T2], B)

Неявный
Этот член добавляется неявным преобразованием из Product2[T1, T2] в ArrowAssoc[Product2[T1, T2]] выполненным методом 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).

возвращает

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

Definition Classes
Any

final def asInstanceOf[T0]: T0

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

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

возвращает

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

Definition Classes
Any
Исключения

ClassCastException, если объект-получатель не является экземпляром стирания типа T0.

def ensuring(cond: (Product2[T1, T2]) ⇒ Boolean, msg: ⇒ Any): Product2[T1, T2]

Неявный
Этот член добавляется неявным преобразованием из Product2[T1, T2] в Ensuring[Product2[T1, T2]] выполненным методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (Product2[T1, T2]) ⇒ Boolean): Product2[T1, T2]

Неявный
Этот член добавляется неявным преобразованием из Product2[T1, T2] в Ensuring[Product2[T1, T2]] выполненным методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): Product2[T1, T2]

Неявный
Этот член добавляется неявным преобразованием из Product2[T1, T2] в Ensuring[Product2[T1, T2]] выполненным методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean): Product2[T1, T2]

Implicit
Этот член добавлен неявным преобразованием из Product2[T1, T2] в Ensuring[Product2[T1, T2]] с помощью метода 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)).

returns

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

Definition Classes
Any

def formatted(fmtstr: String): String

Возвращает строку, отформатированную согласно заданной строке format. Форматные строки аналогичны тем, что используются в String.format (@см. java.lang.String.format).

Implicit
Этот член добавлен неявным преобразованием из Product2[T1, T2] в StringFormat[Product2[T1, T2]] с помощью метода 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

Арность этого произведения.

returns

2

Definition Classes
Product2 → Product

def productElement(n: Int): Any

Возвращает n-ую проекцию этого произведения, если 0 <= n < productArity, в противном случае выбрасывает IndexOutOfBoundsException.

n

номер проекции, которая должна быть возвращена

returns

то же, что и ._(n+1), например, productElement(0) эквивалентно ._1.

Definition Classes
Product2 → Product
Annotations
@throws( clazz = classOf[IndexOutOfBoundsException] )
Exceptions thrown

def productIterator: Iterator[Any]

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

returns

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

Definition Classes
Product

def productPrefix: String

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

returns

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

Definition Classes
Product

def toString(): String

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

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

возвращает

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

Определяющие классы
Any

def →[B](y: B): (Product2[T1, T2], B)

Неявный
Этот член добавлен неявным преобразованием из Product2[T1, T2] в ArrowAssoc[Product2[T1, T2]] с помощью метода 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/Product2.html

Spec-Zone.ru

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