Spec-Zone.ru › Scala 2.12 Library

Класс scala.Predef.<:<

закрытый абстрактный класс <:<[-From, +To] extends (From) ⇒ To with Serializable

Экземпляр A <:< B свидетельствует о том, что A является подтипом B. Требование неявного аргумента типа A <:< B кодирует обобщенное ограничение A <: B.

Аннотации
@implicitNotFound( msg = ... )
Источник
Predef.scala
Примечание

нам нужен новый конструктор типа <:< и доказательство conforms, так как повторное использование Function1 и identity приводит к неоднозначностям в случае ошибок типов (any2stringadd выводится). Для ограничения любого абстрактного типа T, присутствующего в списке аргументов метода (не только параметров типа самого метода), просто добавьте неявный аргумент типа T <:< U, где U — требуемое верхнее ограничение; или для нижних ограничений используйте: L <:< T, где L — требуемое нижнее ограничение. Частично внесен вклад Джейсоном Зауггом.

Линейные надтипы

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

абстрактный def apply(v1: From): To

Применить тело этой функции к аргументу.

возвращает

результат применения функции.

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

Члены-значения конкретного типа

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), в противном случае — false.

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

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращается хэш-значение, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернёт одинаковое хэш-значение для каждого из них. Для null возвращается хэш-код, где null.hashCode выбрасывает NullPointerException.

возвращает

хэш-значение, согласованное с ==

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

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

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

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

def andThen[A](g: (To) ⇒ A): (From) ⇒ A

Компонует две инстанции Function1 в новую Function1, применяя текущую функцию первой.

A

тип результата функции g

g

функция R => A

возвращает

новая функция f такая, что f(x) == g(apply(x))

Определяющие классы
Function1
Аннотации
@unspecialized()

final def asInstanceOf[T0]: T0

Приводит объект-получатель к типу T0.

Обратите внимание, что успех приведения типов во время выполнения обусловлен семантикой стирания Scala. Поэтому выражение 1.asInstanceOf[String] вызовет ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, поскольку тип аргумента стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка запрошенному типу.

возвращает

объект-получатель.

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

ClassCastException если объект-получатель не является экземпляром стирания типа T0.

def clone(): AnyRef

Создаёт копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[lang]
Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()
Примечание

не определён в SLS как член AnyRef

def compose[A](g: (A) ⇒ From): (A) ⇒ To

Компонует две инстанции Function1 в новую Function1, применяя текущую функцию последней.

A

тип, к которому может быть применена функция g

g

функция A => T1

возвращает

новая функция f такая, что f(x) == apply(g(x))

Определяющие классы
Function1
Аннотации
@unspecialized()

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и обладает тремя дополнительными свойствами:

    Он согласован: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, вызовы x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно гарантировать, что их поведение согласуется с равенством ссылок. Таким образом, если два объекта являются ссылками друг на друга (o1 eq o2 ), они должны быть равны друг другу (o1 == o2) и иметь одинаковое хэш-значение (o1.hashCode == o2.hashCode).

возвращает

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

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

def equals(arg0: Any): Boolean

Метод равенства для ссылочных типов. По умолчанию делегирует вызов eq.

См. также equals в scala.Any.

возвращает

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

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

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда на объект больше нет ссылок.

Подробности о том, когда и как вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями зависят от платформы.

Атрибуты
protected[lang]
Определяющие классы
AnyRef
Аннотации
@throws( classOf[java.lang.Throwable] )
Примечание

не указано SLS как член AnyRef

final def getClass(): java.lang.Class[_]

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

возвращает

объект класса, соответствующий типу получателя во время выполнения.

Определяющие классы
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

значение хэш-кода для этого объекта.

Определяющие классы
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверка, является ли динамический тип объекта-получателя T0.

Обратите внимание, что результат проверки учитывает семантику стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку аргумент типа стирается во время компиляции, проверить, содержат ли элементы списка указанный тип, невозможно.

возвращает

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

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

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

возвращает

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

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

final def notify(): Unit

Разбуживает единственную нить, ожидающую монитор объекта-получателя.

Определяющие классы
AnyRef
Аннотации
@native()
Примечание

не указано SLS как член AnyRef

final def notifyAll(): Unit

Разбуживает все нити, ожидающие монитор объекта-получателя.

Определяющие классы
AnyRef
Аннотации
@native()
Примечание

не указано SLS как член AnyRef

final def synchronized[T0](arg0: ⇒ T0): T0

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

def toString(): java.lang.String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

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

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

final def wait(): Unit

Определяющие классы
AnyRef
Аннотации
@throws( ... )

final def wait(arg0: Long, arg1: Int): Unit

Определяющие классы
AnyRef
Аннотации
@throws( ... )

final def wait(arg0: Long): Unit

Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()

Затенённые неявные члены-значения

def +(other: String): String

Неявный
Этот член добавлен с помощью неявного преобразования из <:<[From, To] в any2stringadd[<:<[From, To]] с помощью метода any2stringadd в scala.Predef.
Затенение
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора с неоднозначным неявным преобразованием.
Для доступа к этому члену можно использовать приведение типа:
(<:<: any2stringadd[<:<[From, To]]).+(other)
Классы определений
any2stringadd

def +(other: String): String

Неявный
Этот член добавлен с помощью неявного преобразования из <:<[From, To] в any2stringadd[<:<[From, To]] с помощью метода any2stringadd в scala.Predef.
Затенение
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора с неоднозначным неявным преобразованием.
Для доступа к этому члену можно использовать приведение типа:
(<:<: any2stringadd[<:<[From, To]]).+(other)
Классы определений
any2stringadd

def ->[B](y: B): (<:<[From, To], B)

Неявный
Этот член добавлен с помощью неявного преобразования из <:<[From, To] в ArrowAssoc[<:<[From, To]] с помощью метода ArrowAssoc в scala.Predef.
Затенение
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора с неоднозначным неявным преобразованием.
Для доступа к этому члену можно использовать приведение типа:
(<:<: ArrowAssoc[<:<[From, To]]).->(y)
Классы определений
ArrowAssoc
Аннотации
@inline()

def ->[B](y: B): (<:<[From, To], B)

Неявный
Этот член добавлен с помощью неявного преобразования из <:<[From, To] в ArrowAssoc[<:<[From, To]] с помощью метода ArrowAssoc в scala.Predef.
Затенение
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора с неоднозначным неявным преобразованием.
Для доступа к этому члену можно использовать приведение типа:
(<:<: ArrowAssoc[<:<[From, To]]).->(y)
Классы определений
ArrowAssoc
Аннотации
@inline()

def ensuring(cond: (<:<[From, To]) ⇒ Boolean, msg: ⇒ Any): <:<[From, To]

Неявный
Этот член добавлен с помощью неявного преобразования из <:<[From, To] в Ensuring[<:<[From, To]] с помощью метода Ensuring в scala.Predef.
Затенение
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора с неоднозначным неявным преобразованием.
Для доступа к этому члену можно использовать приведение типа:
(<:<: Ensuring[<:<[From, To]]).ensuring(cond, msg)
Классы определений
Ensuring

def ensuring(cond: (<:<[From, To]) ⇒ Boolean): <:<[From, To]

Неявный
Этот член добавлен благодаря неявной конверсии из <:<[From, To] в Ensuring[<:<[From, To]] выполненной методом Ensuring в scala.Predef.
Перекрытие
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора «неоднозначное неявное преобразование».
Для доступа к этому члену можно использовать приведение типа:
(<:<: Ensuring[<:<[From, To]]).ensuring(cond)
Классы определения
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): <:<[From, To]

Неявный
Этот член добавлен благодаря неявной конверсии из <:<[From, To] в Ensuring[<:<[From, To]] выполненной методом Ensuring в scala.Predef.
Перекрытие
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора «неоднозначное неявное преобразование».
Для доступа к этому члену можно использовать приведение типа:
(<:<: Ensuring[<:<[From, To]]).ensuring(cond, msg)
Классы определения
Ensuring

def ensuring(cond: Boolean): <:<[From, To]

Неявный
Этот член добавлен благодаря неявной конверсии из <:<[From, To] в Ensuring[<:<[From, To]] выполненной методом Ensuring в scala.Predef.
Перекрытие
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора «неоднозначное неявное преобразование».
Для доступа к этому члену можно использовать приведение типа:
(<:<: Ensuring[<:<[From, To]]).ensuring(cond)
Классы определения
Ensuring

def ensuring(cond: (<:<[From, To]) ⇒ Boolean, msg: ⇒ Any): <:<[From, To]

Неявный
Этот член добавлен благодаря неявной конверсии из <:<[From, To] в Ensuring[<:<[From, To]] выполненной методом Ensuring в scala.Predef.
Перекрытие
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора «неоднозначное неявное преобразование».
Для доступа к этому члену можно использовать приведение типа:
(<:<: Ensuring[<:<[From, To]]).ensuring(cond, msg)
Классы определения
Ensuring

def ensuring(cond: (<:<[From, To]) ⇒ Boolean): <:<[From, To]

Неявный
Этот член добавлен благодаря неявной конверсии из <:<[From, To] в Ensuring[<:<[From, To]] выполненной методом Ensuring в scala.Predef.
Перекрытие
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора «неоднозначное неявное преобразование».
Для доступа к этому члену можно использовать приведение типа:
(<:<: Ensuring[<:<[From, To]]).ensuring(cond)
Классы определения
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): <:<[From, To]

Неявный
Этот член добавлен неявным преобразованием из <:<[From, To] в Ensuring[<:<[From, To]] методом Ensuring в scala.Predef.
Перекрытие
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора по поводу неоднозначного неявного преобразования.
Для доступа к этому члену можно использовать приведение типов:
(<:<: Ensuring[<:<[From, To]]).ensuring(cond, msg)
Классы определения
Ensuring

def ensuring(cond: Boolean): <:<[From, To]

Неявный
Этот член добавлен неявным преобразованием из <:<[From, To] в Ensuring[<:<[From, To]] методом Ensuring в scala.Predef.
Перекрытие
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора по поводу неоднозначного неявного преобразования.
Для доступа к этому члену можно использовать приведение типов:
(<:<: Ensuring[<:<[From, To]]).ensuring(cond)
Классы определения
Ensuring

def formatted(fmtstr: String): String

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

Неявный
Этот член добавлен неявным преобразованием из <:<[From, To] в StringFormat[<:<[From, To]] методом StringFormat в scala.Predef.
Перекрытие
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора по поводу неоднозначного неявного преобразования.
Для доступа к этому члену можно использовать приведение типов:
(<:<: StringFormat[<:<[From, To]]).formatted(fmtstr)
Классы определения
StringFormat
Аннотации
@inline()

def formatted(fmtstr: String): String

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

Неявный
Этот член добавлен неявным преобразованием из <:<[From, To] в StringFormat[<:<[From, To]] методом StringFormat в scala.Predef.
Перекрытие
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора по поводу неоднозначного неявного преобразования.
Для доступа к этому члену можно использовать приведение типов:
(<:<: StringFormat[<:<[From, To]]).formatted(fmtstr)
Классы определения
StringFormat
Аннотации
@inline()

def →[B](y: B): (<:<[From, To], B)

Неявный
Этот член добавлен неявным преобразованием из <:<[From, To] в ArrowAssoc[<:<[From, To]] методом ArrowAssoc в scala.Predef.
Перекрытие
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора по поводу неоднозначного неявного преобразования.
Для доступа к этому члену можно использовать приведение типов:
(<:<: ArrowAssoc[<:<[From, To]]).→(y)
Классы определения
ArrowAssoc

def →[B](y: B): (<:<[From, To], B)

Неявный
Этот член добавляется неявным преобразованием из <:<[From, To] в ArrowAssoc[<:<[From, To]] с помощью метода ArrowAssoc в scala.Predef.
Затенение
Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компиляции из-за неоднозначного неявного преобразования.
Для доступа к этому члену можно использовать приведение типов:
(<:<: ArrowAssoc[<:<[From, To]]).→(y)
Классы-определения
ArrowAssoc

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/Predef$$$less$colon$less.html

Spec-Zone.ru

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