Sobes.tech
Middle

Зашто је потребна класа Nothing?

sobes.tech АИ

Одговор од АИ

Nothing — to tip podataka koji nema vrednosti. Koristan je kada je potrebno naznačiti odsustvo povratne vrednosti ili da izvršenje koda nikada ne dostigne određenu tačku.

Na primer:

  • U lambda izrazima koji uvek bacaju izuzetak: Kompajler razume da je kod nakon takvog lambda neostvariv.

    fun fail(message: String): Nothing {
        throw IllegalStateException(message)
    }
    
    val x = fail("Nešto je pošlo po zlu") // x ima tip Nothing
    println("Ova linija nikada neće biti izvršena")
    
  • Kao tip povratne vrednosti za funkcije koje nikada ne završavaju normalno: Na primer, beskonačna petlja.

    fun loopForever(): Nothing {
        while (true) {
            // Beskonačna petlja
        }
    }
    
  • Za preciznije tipiziranje u opštim funkcijama: Ukazuje da tip ne može biti instanciran.