Middle
Milleks on klassi Nothing vaja?
sobes.tech AI
Vastus AI-lt
Nothing — see andmetüüp, millel väärtusi ei ole. See on kasulik, kui tuleb märkida, et tagastatav väärtus puudub või kood ei jõua kunagi teatud punkti.
Näited:
-
Lambdafunktsioonides, mis viskavad alati erandi: Kogumismootor mõistab, et sellise lambd pärast olev kood on kättesaamatu.
fun fail(message: String): Nothing { throw IllegalStateException(message) } val x = fail("Midagi läks valesti") // x on `Nothing` tüüp println("See rida ei käivitu kunagi") -
Tagastustüübina funktsioonidele, mis kunagi normaalselt ei lõpe: Näiteks lõpmatu tsükkel.
fun loopForever(): Nothing { while (true) { // Lõpmatu tsükkel } } -
Täpsustades tüüpi üldistes funktsioonides: Näitab, et tüüp ei saa olla instantsiatsiooniline.