Spec-Zone.ru › Scala 2.13 Library

Особенность scala.Product1

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

особенность Product1[+T1] extends Product

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

Источник
Product1.scala
С момента

2.3

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

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

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

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

возвращает

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

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

Метод, который следует вызывать из любого хорошо спроектированного метода equals, который может быть переопределён в подклассе. См. Programming in Scala, Chapter 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

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

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

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

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

def ensuring(cond: (Product1[T1]) => Boolean): Product1[T1]

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

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

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

def ensuring(cond: Boolean): Product1[T1]

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

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

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

возвращает

1

Классы определения
Product1 → Product

def productElement(n: Int): Any

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

n

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

возвращает

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

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

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

def productElementName(n: Int): String

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

n

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

возвращает

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

Классы определения
Product
Исключения

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

Spec-Zone.ru

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