Трейт scala.Product2
Компаньон объект Product2
трейт Product2[+T1, +T2] extends Product
Абстрактные члены-значения
абстрактный 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
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
Product2 представляет собой декартово произведение из 2 компонентов.
2.3