When You Should Use Null in Kotlin
Является ли значение
null проблемой и стоит ли избегать его использования? Например, я видел что разработчики используют пустые строки как значения переменных типа String, которые не проинициализированы. К сожалению, репутация
null испорчена системой типов в Java, частые NPE и множество if (value != null). null - это хороший выбор для представления состояния, когда у вас не проинициализрован объект, либо не доступен в текущий момент. Для того чтобы ваше работы с
null не приводила к ошибкам в Kotlin было сделано множество средств:👉 система типов, различающая nullable и non-nullable типы
👉 безопасные вызовы ( ?. )
👉 безопасные приведения ( as? )
👉 else shorthand ( ?: )
👉 неизменяемые переменные
Язык должен помогать вам писать код как это логически правильно и не заставлять использовать что-то из-за своих ограничений. Kotlin старается соответствовать этим ожиданиям и у него это прекрасно получается!
Не бойтесь
null, так в нем есть польза.