Enum

Common
JVM
Native
1.0
abstract class Enum<E : Enum<E>> : Comparable<E>
JS
1.1
class Enum<T : Enum<T>> : Comparable<Enum<T>>

The common base class of all enum classes. See the Kotlin language documentation for more information on enum classes.

Constructors

<init>

JS
1.1
Enum()
Common
JVM
JS
Native
1.0

The common base class of all enum classes. See the Kotlin language documentation for more information on enum classes.

<init>(name: String, ordinal: Int)

Properties

Common
JVM
JS
Native
1.0

name

Returns the name of this enum constant, exactly as declared in its enum declaration.

val name: String
Common
JVM
JS
Native
1.0

ordinal

Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).

val ordinal: Int

Functions

Common
JVM
JS
Native
1.0

clone

Throws an exception since enum constants cannot be cloned. This method prevents enum classes from inheriting from Cloneable.

fun clone(): Any

compareTo

Compares this object with the specified object for order. Returns zero if this object is equal to the specified other object, a negative number if it's less than other, or a positive number if it's greater than other.

JS
1.1
fun compareTo(other: Enum<T>): Int
Common
JVM
JS
Native
1.0
fun compareTo(other: E): Int
Common
JVM
JS
Native
1.0

equals

Indicates whether some other object is "equal to" this one. Implementations must fulfil the following requirements:

fun equals(other: Any?): Boolean
Common
JVM
JS
Native
1.0

hashCode

Returns a hash code value for the object. The general contract of hashCode is:

fun hashCode(): Int

toString

Returns a string representation of the object.

Common
JVM
Native
1.0
open fun toString(): String
JS
1.1
fun toString(): String

Extension Functions

Common
JVM
JS
Native
1.0

coerceAtLeast

Ensures that this value is not less than the specified minimumValue.

fun <T : Comparable<T>> T.coerceAtLeast(minimumValue: T): T
Common
JVM
JS
Native
1.0

coerceAtMost

Ensures that this value is not greater than the specified maximumValue.

fun <T : Comparable<T>> T.coerceAtMost(maximumValue: T): T
Common
JVM
JS
Native
1.0

coerceIn

Ensures that this value lies in the specified range minimumValue..maximumValue.

fun <T : Comparable<T>> T.coerceIn(
    minimumValue: T?,
    maximumValue: T?
): T

Ensures that this value lies in the specified range.

fun <T : Comparable<T>> T.coerceIn(
    range: ClosedFloatingPointRange<T>
): T
fun <T : Comparable<T>> T.coerceIn(range: ClosedRange<T>): T
Common
JVM
JS
Native
1.0

rangeTo

Creates a range from this Comparable value to the specified that value.

operator fun <T : Comparable<T>> T.rangeTo(
    that: T
): ClosedRange<T>

Inheritors

Common
JVM
JS
Native
1.0

AnnotationRetention

Contains the list of possible annotation's retentions.

enum class AnnotationRetention
Common
JVM
JS
Native
1.0

AnnotationTarget

Contains the list of code elements which are the possible annotation targets

enum class AnnotationTarget
JVM
Native
1.0

CharCategory

Represents the character general category in the Unicode specification.

enum class CharCategory
JVM
1.0

CharDirectionality

Represents the Unicode directionality of a character. Character directionality is used to calculate the visual ordering of text.

enum class CharDirectionality
Native
1.3

CpuArchitecture

Central Processor Unit architecture.

enum class CpuArchitecture
Common
JVM
JS
Native
1.0

DeprecationLevel

Possible levels of a deprecation. The level specifies how the deprecated element usages are reported in code.

enum class DeprecationLevel

DurationUnit

The list of possible time measurement units, in which a duration can be expressed.

Common
JS
Native
1.3
enum class DurationUnit
JVM
1.3
typealias DurationUnit = TimeUnit
JVM
1.0

FileWalkDirection

An enumeration to describe possible walk directions. There are two of them: beginning from parents, ending with children, and beginning from children, ending with parents. Both use depth-first search.

enum class FileWalkDirection
Native
1.3

FutureState

State of the future object.

enum class FutureState
Common
JVM
JS
Native
1.3

InvocationKind

Specifies how many times a function invokes its function parameter in place.

enum class InvocationKind
JVM
JS
1.0

Kind

Kind represents a particular position of the parameter declaration in the source code, such as an instance, an extension receiver parameter or a value parameter.

enum class Kind
JVM
JS
Native
1.1

KVariance

Represents variance applied to a type parameter on the declaration site (declaration-site variance), or to a type in a projection (use-site variance).

enum class KVariance
JVM
JS
1.1

KVisibility

Visibility is an aspect of a Kotlin declaration regulating where that declaration is accessible in the source code. Visibility can be changed with one of the following modifiers: public, protected, internal, private.

enum class KVisibility
Common
JVM
JS
Native
1.0

LazyThreadSafetyMode

Specifies how a Lazy instance synchronizes initialization among multiple threads.

enum class LazyThreadSafetyMode
Native
1.3

MemoryModel

Memory model.

enum class MemoryModel
JVM
1.0

OnErrorAction

Enum that can be used to specify behaviour of the copyRecursively() function in exceptional conditions.

enum class OnErrorAction
Native
1.3

OsFamily

Operating system family.

enum class OsFamily

RegexOption

Provides enumeration values to use to set regular expression options.

Common
JS
1.0
enum class RegexOption
JVM
Native
1.0
enum class RegexOption : FlagEnum
Native
1.3

TransferMode

Object Transfer Basics.

enum class TransferMode