Avatar ·

Was ist null/nil in Kotlin und wie arbeitet man damit?

Hallo zusammen! Ich habe angefangen, Kotlin nach Java zu lernen, und komme mit dem Konzept von null in dieser Sprache nicht ganz klar. In Java ist null ein normaler Verweis, der jedem Objekt zugewiesen werden kann, und wir kämpfen ständig mit NullPointerException. In Kotlin hingegen sind Typen standardmäßig non-null, und um mit null zu arbeiten, muss man spezielle Konstrukte verwenden.

Ich habe ein paar konkrete Fragen und Probleme:

  1. Verstehe ich richtig, dass String? (mit Fragezeichen) ein nullable Typ ist und String non-null? Und wenn ich versuche, null einer Variable vom Typ String ohne Fragezeichen zuzuweisen, gibt es einen Kompilierungsfehler?
  2. Ich habe versucht, einfachen Code zu schreiben, aber er lässt sich nicht kompilieren:
fun main() {\n    val name: