Spec-Zone.ru › Scala 2.13 Library

Трейт scala.Product2

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

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

Product2 представляет собой декартово произведение из 2 компонентов.

Источник
Product2.scala
С

2.3

Линейные надтипы
Product, Equals, Any
Известные подклассы
Tuple2

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

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

Проекция элемента 1 этого произведения.

возвращает

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

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

Проекция элемента 2 этого произведения.

возвращает

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

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

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

that

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

возвращает

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

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

абстрактный def 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

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

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

Неявный
Этот член добавлен неявным преобразованием из Product2[T1, T2] в ArrowAssoc[Product2[T1, T2]] с помощью метода 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: (Product2[T1, T2]) => Boolean, msg: => Any): Product2[T1, T2]

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

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

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

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

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

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

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

возвращает

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

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

def formatted(fmtstr: String): String

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

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

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

возвращает

2

Определяющие классы
Product2 → Product

def productElement(n: Int): Any

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

n

номер проектирования, который нужно вернуть

возвращает

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

Определяющие классы
Product2 → Product
Аннотации
@throws(classOf[IndexOutOfBoundsException])
Исключения

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

def productElementName(n: Int): String

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

n

индекс элемента, имя которого нужно вернуть

возвращает

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

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

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

def productElementNames: Iterator[String]

Итератор по именам всех элементов этого продукта.

Definition Classes
Product

def productIterator: Iterator[Any]

Итератор по всем элементам этого продукта.

возвращает

в стандартной реализации, Iterator[Any]

Definition Classes
Product

def productPrefix: String

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

возвращает

в стандартной реализации, пустая строка

Definition Classes
Product

def toString(): String

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

Стандартное представление зависит от платформы.

возвращает

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

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/Product2.html

Spec-Zone.ru

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