Як працює null safety у Kotlin і чим небезпечні platform types?
Kotlin ділить кожен тип на nullable (String?) і non-nullable (String), і компілятор не дає звернутися до nullable-значення без перевірки, тому NullPointerException здебільшого зникає. Platform types зʼявляються на межі з Java: Kotlin не знає, чи може Java-метод повернути null, і довіряє вам. Саме звідти NPE і приходять — анотуйте Java-API або вважайте їхній результат nullable у місці виклику.