Annotation scala.annotation.switch
final class switch extends Annotation with StaticAnnotation
Члены-значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), иначе false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращает значение хэша, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернёт одинаковое значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.
- returns
значение хэша, согласованное с ==
- Definition Classes
- AnyRef → Any
def +(other: String): String
- Implicit
- Этот член добавлен с помощью неявного преобразования из switch вany2stringadd[switch] с помощью метода any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ->[B](y: B): (switch, B)
- Implicit
- Этот член добавлен с помощью неявного преобразования из switch вArrowAssoc[switch] с помощью метода 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
- AnyRef → Any
final def asInstanceOf[T0]: T0
Приведение объекта получателя к типу T0.
Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] вызовет исключение ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] нет. В последнем примере, поскольку аргумент типа стирается при компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.
- returns
объект получателя.
- Definition Classes
- Any
- Исключения
ClassCastException, если объект получателя не является экземпляром стирания типаT0.
def clone(): AnyRef
Создать копию объекта получателя.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия объекта получателя.
def ensuring(cond: (switch) => Boolean, msg: => Any): switch
- Implicit
- Этот член добавлен с помощью неявного преобразования из switch вEnsuring[switch] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (switch) => Boolean): switch
- Implicit
- Этот член добавлен с помощью неявного преобразования из switch вEnsuring[switch] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: => Any): switch
- Неявный
- Этот член добавлен неявным преобразованием из switch в Ensuring[switch] с помощью метода Ensuring в scala.Predef.
- Классы определений
- Ensuring
def ensuring(cond: Boolean): switch
- Неявный
- Этот член добавлен неявным преобразованием из switch в Ensuring[switch] с помощью метода Ensuring в scala.Predef.
- Классы определений
- Ensuring
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: AnyRef): Boolean
Метод равенства для типов ссылок. Реализация по умолчанию делегирует eq.
См. также equals в scala.Any.
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Классы определений
- AnyRef → Any
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.
Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями зависят от платформы.
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной format строкой. Строки формата аналогичны String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из switch в StringFormat[switch] с помощью метода StringFormat в scala.Predef.
- Классы определений
- StringFormat
- Аннотации
- @inline()
final def getClass(): Class[_ <: AnyRef]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу объекта во время выполнения.
def hashCode(): Int
Метод hashCode для типов ссылок. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для данного объекта.
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(): String
Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.
- возвращает
строковое представление объекта.
- Классы-определения
- AnyRef → Any
final def wait(): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
© 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/annotation/switch.html
Аннотация, применяемая к выражению соответствия. При её наличии компилятор проверит, что соответствие скомпилировано в tableswitch или lookupswitch, и выдаст ошибку, если вместо этого скомпилировано множество условных выражений. Пример использования:
val Constant = 'Q' def tokenMe(ch: Char) = (ch: @switch) match { case ' ' | '\t' | '\n' => 1 case 'A' | 'Z' | '$' => 2 case '5' | Constant => 3 // a non-literal may prevent switch generation: this would not compile case _ => 4 }Примечание: для соответствий с одним или двумя случаями компилятор генерирует инструкции перехода. Аннотирование такого соответствия аннотацией
@switchне приводит к выводу каких-либо предупреждений.2.8