Logo
Kotlin Basics
Kotlin BasicsEnumerations

Enumerations

How to use enums to group related values in Kotlin, including the syntax, usage, and best practices for defining and working with enumerations.

Enumerations, or enums, are a special data type in Kotlin that allow you to define a set of named constants. Enums are useful for grouping related values together, making your code more readable and maintainable. This section will guide you through the basics of using enums in Kotlin.

Defining Enums

Syntax

The basic syntax for defining an enum in Kotlin is as follows:

enum class EnumName {
    CONSTANT1,
    CONSTANT2,
    ...
}

Example

Here's a simple enum that represents the days of the week.

enum class Day {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}

Accessing Enum Constants

Syntax

You can access enum constants using the enum class name.

EnumName.CONSTANT

Example

val today = Day.MONDAY

Using Enums in When Expressions

Enums are often used in when expressions to handle different cases.

Example

when (today) {
    Day.MONDAY -> println("Start of the work week.")
    Day.FRIDAY -> println("End of the work week.")
    Day.SATURDAY, Day.SUNDAY -> println("Weekend!")
    else -> println("Regular day.")
}

Enum Properties and Methods

Kotlin allows you to define properties and methods inside enums.

Example

enum class Day(val isWeekend: Boolean) {
    MONDAY(false),
    TUESDAY(false),
    // ...
    SATURDAY(true),
    SUNDAY(true);
 
    fun displayType() = if (isWeekend) "Weekend" else "Weekday"
}

Summary and Best Practices

  • Use enums to group related constants together.
  • Prefer using enums over individual constants for better organization and readability.
  • You can add properties and methods to enums for additional functionality.

Enumerations are a powerful feature in Kotlin that help you write cleaner, more organized code. They are particularly useful for defining a set of related values, such as status codes, directions, or days of the week, making them a valuable tool in both Android Native development and general Kotlin programming.

Book a conversation with us for personalize training today!

Was this helpful?
Logo