Трейт scala.Product
trait Product extends Equals
- None, Option, Product1, Product10, Product11, Product12, Product13, Product14, Product15, Product16, Product17, Product18, Product19, Product2, Product20, Product21, Product22, Product3, Product4, Product5, Product6, Product7, Product8, Product9, ScalaReflectionException, Some, StringContext, Tuple1, Tuple10, Tuple11, Tuple12, Tuple13, Tuple14, Tuple15, Tuple16, Tuple17, Tuple18, Tuple19, Tuple2, Tuple20, Tuple21, Tuple22, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, Tuple8, Tuple9, UninitializedFieldError, Найден, ТочкаВставки, ПредставлениеСтроки, Пустое, ::, Nil, Вставка, Изменение, Дедлайн, AsJavaBiConsumer, AsJavaBiFunction, AsJavaBiPredicate, AsJavaBinaryOperator, AsJavaBooleanSupplier, AsJavaConsumer, AsJavaDoubleBinaryOperator, AsJavaDoubleConsumer, AsJavaDoubleFunction, AsJavaDoublePredicate, AsJavaDoubleSupplier, AsJavaDoubleToIntFunction, AsJavaDoubleToLongFunction, AsJavaDoubleUnaryOperator, AsJavaFunction, AsJavaIntBinaryOperator, AsJavaIntConsumer, AsJavaIntFunction, AsJavaIntPredicate, AsJavaIntSupplier, AsJavaIntToDoubleFunction, AsJavaIntToLongFunction, AsJavaIntUnaryOperator, AsJavaLongBinaryOperator, AsJavaLongConsumer, AsJavaLongFunction, AsJavaLongPredicate, AsJavaLongSupplier,
- AsJavaLongToDoubleFunction, AsJavaLongToIntFunction, AsJavaLongUnaryOperator, AsJavaObjDoubleConsumer, AsJavaObjIntConsumer, AsJavaObjLongConsumer, AsJavaPredicate, AsJavaSupplier, AsJavaToDoubleBiFunction, AsJavaToDoubleFunction, AsJavaToIntBiFunction, AsJavaToIntFunction, AsJavaToLongBiFunction, AsJavaToLongFunction, AsJavaUnaryOperator, FromJavaBiConsumer, FromJavaBiFunction, FromJavaBiPredicate, FromJavaBinaryOperator, FromJavaBooleanSupplier, FromJavaConsumer, FromJavaDoubleBinaryOperator, FromJavaDoubleConsumer, FromJavaDoubleFunction, FromJavaDoublePredicate, FromJavaDoubleSupplier, FromJavaDoubleToIntFunction, FromJavaDoubleToLongFunction, FromJavaDoubleUnaryOperator, FromJavaFunction, FromJavaIntBinaryOperator, FromJavaIntConsumer, FromJavaIntFunction, FromJavaIntPredicate, FromJavaIntSupplier, FromJavaIntToDoubleFunction, FromJavaIntToLongFunction, FromJavaIntUnaryOperator, FromJavaLongBinaryOperator, FromJavaLongConsumer, FromJavaLongFunction, FromJavaLongPredicate, FromJavaLongSupplier, FromJavaLongToDoubleFunction, FromJavaLongToIntFunction, FromJavaLongUnaryOperator, FromJavaObjDoubleConsumer, FromJavaObjIntConsumer, FromJavaObjLongConsumer, FromJavaPredicate, FromJavaSupplier, FromJavaToDoubleBiFunction, FromJavaToDoubleFunction, FromJavaToIntBiFunction, FromJavaToIntFunction,
Члены-абстрактные значения
abstract def canEqual(that: Any): Boolean
Метод, который должен вызываться из каждого хорошо спроектированного метода equals, который может быть переопределен в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.
- that
значение, проверяемое на возможность равенства
- returns
true, если этот экземпляр может быть равен
that, в противном случае false
- Definition Classes
- Equals
abstract def getClass(): Class[_ <: AnyRef]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу получателя во время выполнения.
- Definition Classes
- Any
abstract def productArity: Int
Размер этого произведения.
- returns
для произведения
A(x1, ..., xk), возвращаетk
abstract def productElement(n: Int): Any
n-й элемент этого произведения, индексация с нуля. Другими словами, для произведения A(x1, ..., xk), возвращает x(n+1) где 0 <= n < k.
- n
индекс возвращаемого элемента
- returns
элемент
nэлементов после первого элемента
- Exceptions thrown
IndexOutOfBoundsException, еслиnнаходится вне диапазона (n < 0 || n >= productArity).
Члены-значения конкретного типа
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), иначе false.
- Definition Classes
- Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращает значение хэша, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернёт одинаковое значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode выбрасывает NullPointerException.
- returns
значение хэша, согласованное с ==
- Definition Classes
- Any
def +(other: String): String
- Implicit
- Этот член добавлен неявным преобразованием из Product в any2stringadd[Product] с помощью метода any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ->[B](y: B): (Product, B)
- Implicit
- Этот член добавлен неявным преобразованием из Product в ArrowAssoc[Product] с помощью метода ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
final def ==(arg0: Any): Boolean
Проверка двух объектов на равенство. Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- Any
final def asInstanceOf[T0]: T0
Приведение объекта-получателя к типу T0.
Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания Scala. Следовательно, выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, поскольку тип аргумента стирается во время компиляции, проверить, относятся ли содержимое списка к требуемому типу, невозможно.
- returns
объект-получатель.
- Definition Classes
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стирания типаT0.
def ensuring(cond: (Product) => Boolean, msg: => Any): Product
- Implicit
- Этот член добавлен неявным преобразованием из Product в Ensuring[Product] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (Product) => Boolean): Product
- Implicit
- Этот член добавлен неявным преобразованием из Product в Ensuring[Product] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Product
- Implicit
- Этот член добавлен неявным преобразованием из Product в Ensuring[Product] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): Product
- Неявный
- Этот член добавлен неявным преобразованием из Product вEnsuring[Product] с помощью метода 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) имеют одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)).
- возвращает
trueесли текущий объект эквивалентен аргументу;falseв противном случае.
- Классы определений
- Any
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной format строкой. Строки формата аналогичны строкам формата String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из Product вStringFormat[Product] с помощью метода 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 productElementName(n: Int): String
Имя n-го элемента этого произведения, индексация с 0. В реализации по умолчанию, пустая строка.
- n
индекс элемента для возврата имени
- возвращает
имя указанного элемента
- Исключения
IndexOutOfBoundsExceptionесли индексnнаходится вне допустимого диапазона (n < 0 || n >= productArity).
def productElementNames: Iterator[String]
def productIterator: Iterator[Any]
Итератор по всем элементам этого произведения.
- возвращает
в реализации по умолчанию, итератор
Iterator[Any]
def productPrefix: String
Строка, используемая в методах toString производных классов. Реализации могут переопределить этот метод, чтобы добавить префикс к результату методов toString.
- возвращает
в реализации по умолчанию, пустая строка
def toString(): String
Возвращает строковое представление объекта.
Представление по умолчанию зависит от платформы.
- возвращает
строковое представление объекта.
- Классы определений
- 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/Product.html
Базовый трейт для всех продуктов, которые в стандартной библиотеке включают как минимум scala.Product1 до scala.Product22 и, следовательно, также их подклассы scala.Tuple1 до scala.Tuple22. Кроме того, все case-классы реализуют
Productсо синтетически сгенерированными методами.2.3