Sobes.tech
Middle

Waarvoor is de klasse Nothing bedoeld?

sobes.tech AI

Antwoord van AI

Nothing — het gegevenstype dat geen waarden heeft. Het is handig wanneer je aangeeft dat er geen returnwaarde is of dat de uitvoering van de code nooit een bepaald punt bereikt.

Bijvoorbeeld:

  • In lambda-uitdrukkingen die altijd een uitzondering werpen: De compiler begrijpt dat de code na zo'n lambda onbereikbaar is.

    fun fail(message: String): Nothing {
        throw IllegalStateException(message)
    }
    
    val x = fail("Er is iets mis") // x heeft het type Nothing
    println("Deze regel wordt nooit uitgevoerd")
    
  • Als returntype voor functies die nooit normaal eindigen: Bijvoorbeeld een oneindige lus.

    fun loopForever(): Nothing {
        while (true) {
            // Oneindige lus
        }
    }
    
  • Voor preciezere type-informatie in generieke functies: Geeft aan dat het type niet geïnstantieerd kan worden.