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.