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