Класс scala.Enumeration
абстрактный класс Enumeration extends Serializable
Конструкторы экземпляров
new Enumeration()
new Enumeration(initial: Int)
- initial
Начальное значение, от которого отсчитываются целые числа, идентифицирующие значения во время выполнения.
Типовые члены
класс Val extends Value with Serializable
Класс, реализующий тип scala.Enumeration.Value. Этот класс можно переопределить, чтобы изменить поведение именования и идентификации целых чисел перечисления.
- Атрибуты
- protected
- Аннотации
- @SerialVersionUID()
абстрактный класс Value extends Ordered[Value] with Serializable
Тип перечисленных значений.
- Аннотации
- @SerialVersionUID()
класс ValueSet extends AbstractSet[Value] with SortedSet[Value] with SortedSetLike[Value, ValueSet] with Serializable
Класс для наборов значений. Итерация по этому набору будет выдавать значения в порядке возрастания их идентификаторов.
Члены-значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- возвращает
trueесли !(this == that), в противном случае false.
- Классы-определения
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращает значение хеша, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернет одно и то же значение хеша для каждого из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.
- возвращает
значение хеша, согласованное с ==
- Классы-определения
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из Enumeration в any2stringadd[Enumeration] выполненным методом any2stringadd в scala.Predef.
- Классы-определения
- any2stringadd
def ->[B](y: B): (Enumeration, B)
- Неявный
- Этот член добавлен неявным преобразованием из Enumeration в ArrowAssoc[Enumeration] выполненным методом 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в противном случае.
- Классы-определения
- AnyRef → Any
final def Value(i: Int, name: String): Value
Создаёт новый элемент перечисления, называемый name и идентифицируемый целым числом i.
- i
Целое число, идентифицирующее этот элемент во время выполнения. Оно должно быть уникальным для всех элементов перечисления.
- name
Человекопонятное имя для этого элемента.
- возвращает
Новый элемент с указанным идентификатором
iи именемname.
- Атрибуты
- protected
final def Value(name: String): Value
Создаёт новый элемент перечисления, называемый name.
- name
Человекопонятное имя для этого элемента.
- возвращает
Новый элемент, называемый
name.
- Атрибуты
- protected
final def Value(i: Int): Value
Создаёт новый элемент перечисления, идентифицируемый целым числом i.
- i
Целое число, идентифицирующее этот элемент во время выполнения. Оно должно быть уникальным для всех элементов перечисления.
- возвращает
Новый элемент, идентифицируемый
i.
- Атрибуты
- protected
final def Value: Value
Создаёт новый элемент перечисления.
- Атрибуты
- protected
final def apply(x: Int): Value
final def asInstanceOf[T0]: T0
Приведение типа объекта-получателя к типу T0.
Обратите внимание, что успех приведения типов во время выполнения зависит от правил стирания в Scala. Поэтому выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] этого не сделает. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка запрошенному типу.
- возвращает
объект-получатель.
- Классы-определения
- Any
- Исключения
ClassCastExceptionесли объект-получатель не является экземпляром стирания типаT0.
def clone(): AnyRef
def ensuring(cond: (Перечисление) ⇒ Boolean, msg: ⇒ Любой): Перечисление
- Неявный
- Этот член добавляется неявным преобразованием из Перечисления в Ensuring[Перечисление] выполняемым методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: (Перечисление) ⇒ Boolean): Перечисление
- Неявный
- Этот член добавляется неявным преобразованием из Перечисления в Ensuring[Перечисление] выполняемым методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Любой): Перечисление
- Неявный
- Этот член добавляется неявным преобразованием из Перечисления в Ensuring[Перечисление] выполняемым методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean): Перечисление
- Неявный
- Этот член добавляется неявным преобразованием из Перечисления в Ensuring[Перечисление] выполняемым методом 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: Любой): Boolean
Метод равенства для ссылочных типов. Реализация по умолчанию делегирует eq.
См. также equals в scala.Any.
- возвращает
trueесли объект-приёмник эквивалентен аргументу;falseв противном случае.
- Классы определения
- AnyRef → Любой
def finalize(): Unit
Вызывается сборщиком мусора для объекта-приёмника, когда больше нет ссылок на объект.
Детали того, когда и как вызывается метод finalize, а также взаимодействие finalize с нелокальными возвратами и исключениями, зависят от платформы.
- Атрибуты
- protected[lang]
- Классы определения
- AnyRef
- Аннотации
- @throws( classOf[java.lang.Throwable] )
- Примечание
не указано SLS как член AnyRef
def formatted(fmtstr: String): String
Возвращает строку, отформатированную согласно заданной строке format. Строки форматирования аналогичны String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавляется неявным преобразованием из Перечисления в StringFormat[Перечисление] выполняемым методом StringFormat в scala.Predef.
- Классы определения
- StringFormat
- Аннотации
- @inline()
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу времени выполнения приёмника.
def hashCode(): Int
final def isInstanceOf[T0]: Boolean
Проверить, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки зависит от семантики стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, так как аргумент типа стирается во время компиляции, проверить, являются ли элементы списка указанного типа, невозможно.
- returns
trueесли объект-получатель является экземпляром стирания типаT0;falseв противном случае.
- Definition Classes
- Any
final def maxId: Int
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
var nextId: Int
Целое число, используемое для идентификации следующего созданного значения.
- Attributes
- protected
var nextName: Iterator[String]
Строка, используемая для именования следующего созданного значения.
- Attributes
- protected
final def notify(): Unit
Разбудить единственную нить, ожидающую монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано в SLS как член AnyRef
final def notifyAll(): Unit
Разбудить все нити, ожидающие монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано в SLS как член AnyRef
def readResolve(): AnyRef
- Attributes
- protected
final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
def toString(): String
Название этой перечисления.
- returns
строковое представление объекта.
- Definition Classes
- Enumeration → AnyRef → Any
def values: ValueSet
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long): Unit
final def withName(s: String): Value
Возвращает значение из этого перечисления, имя которого совпадает с аргументом. Имена определяются автоматически с помощью рефлексии.
- s
имя значения
- returns
значение этого перечисления, если его имя совпадает с переданным
- Exceptions thrown
NoSuchElementException, если значение с совпадающим именем отсутствует в этом перечислении
def →[B](y: B): (Enumeration, B)
- Implicit
- Этот член добавлен неявным преобразованием из Enumeration в ArrowAssoc[Enumeration] выполненным методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
объект ValueOrdering расширяет Ordering[Значение]
объект ValueSet расширяет Serializable
© 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/Enumeration.html
Определяет конечный набор значений, специфичных для перечисления. Обычно эти значения перечисляют все возможные формы, которые может принимать что-либо, и обеспечивают лёгкую альтернативу классам `case`.
Каждый вызов метода
Valueдобавляет новое уникальное значение в перечисление. Для доступа эти значения обычно определяются какvalчлены перечисления.Все значения в перечислении имеют общий уникальный тип, определённый как
Valueтип-член перечисления (Valueвыбран по стабильному идентификатору экземпляра перечисления).Значения НЕ ДОЛЖНЫ добавляться в перечисление после его создания; это делает перечисление небезопасным для потоков. Если значения добавляются в перечисление из нескольких потоков (не синхронизированным образом) после создания, поведение перечисления не определено.
// Define a new enumeration with a type alias and work with the full set of enumerated values object WeekDay extends Enumeration { type WeekDay = Value val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value } import WeekDay._ def isWorkingDay(d: WeekDay) = ! (d == Sat || d == Sun) WeekDay.values filter isWorkingDay foreach println // output: // Mon // Tue // Wed // Thu // Fri// Example of adding attributes to an enumeration by extending the Enumeration.Val class object Planet extends Enumeration { protected case class Val(mass: Double, radius: Double) extends super.Val { def surfaceGravity: Double = Planet.G * mass / (radius * radius) def surfaceWeight(otherMass: Double): Double = otherMass * surfaceGravity } implicit def valueToPlanetVal(x: Value): Val = x.asInstanceOf[Val] val G: Double = 6.67300E-11 val Mercury = Val(3.303e+23, 2.4397e6) val Venus = Val(4.869e+24, 6.0518e6) val Earth = Val(5.976e+24, 6.37814e6) val Mars = Val(6.421e+23, 3.3972e6) val Jupiter = Val(1.9e+27, 7.1492e7) val Saturn = Val(5.688e+26, 6.0268e7) val Uranus = Val(8.686e+25, 2.5559e7) val Neptune = Val(1.024e+26, 2.4746e7) } println(Planet.values.filter(_.radius > 7.0e6)) // output: // Planet.ValueSet(Jupiter, Saturn, Uranus, Neptune)