Avatar ·

Qu'est-ce que null/nil en Kotlin et comment travailler avec ?

Bonjour à tous ! J'ai commencé à étudier Kotlin après Java et je n'arrive pas à comprendre complètement le concept de null dans ce langage. En Java, null est une référence ordinaire qui peut être assignée à n'importe quel objet, et nous luttons constamment contre NullPointerException. En Kotlin, comme je l'ai compris, les types sont par défaut non-null, et pour travailler avec null, il faut utiliser des constructions spéciales.

J'ai plusieurs questions et problèmes concrets :

  1. Est-ce que je comprends bien que String? (avec un point d'interrogation) est un type nullable, et String est non-null ? Et si j'essaie d'assigner null à une variable de type String sans point d'interrogation, j'aurai une erreur de compilation ?
  2. J'ai essayé d'écrire un code simple, mais il ne compile pas :
fun main() {\n    val name: