Mutability

suggest change

Enums can be mutable, this is another way to obtain a singleton behavior:

enum class Planet(var population: Int = 0) {
    EARTH(7 * 100000000),
    MARS();

    override fun toString() = "$name[population=$population]"
}

 println(Planet.MARS) // MARS[population=0]
 Planet.MARS.population = 3
 println(Planet.MARS) // MARS[population=3]

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:



Table Of Contents