Реализации на Kotlin

Singleton

Общая реализация на языке Kotlin

object Singleton
fun main() {
    val single1 = Singleton
    val single2 = Singleton
    println("Are the same object: ${single1 == single2}")
}

Использование ленивой инициализации

object LazySingleton {
    val lazyField: Teacher by lazy(LazyThreadSafetyMode.PUBLICATION) {
        Teacher(name = "Ivan", surname = "Ivanov")
    }
}
fun main() {
    val single3 = LazySingleton.lazyField
    val single4 = LazySingleton.lazyField

    println("Are the same object: ${single3.name == single4.name && single3.surname == single4.surname}")
}

Last updated

Was this helpful?