Перейти к содержанию

deprecated, аналоги методов

Использование оператора `!!` подразумевает, что ты уверен в том, что значение не может быть `null`. Однако, если это не так, то приложение "упадет" с ошибкой. Поэтому этот оператор считается опасным и не рекомендуется использовать. Только в крайних случаях. 

Это противоречит основной идее безопасности типов в Kotlin, поэтому лучше использовать альтернативные способы обработки нулабельных значений. Такие как оператор безопасного вызова `?.`, элвис-оператор `?:` или оператор `let`.

Но пока я рекомендую использовать более свежую функцию readln()
Использование оператора !! подразумевает, что ты уверен в том, что значение не может быть null. Однако, если это не так, то приложение "упадет" с ошибкой.
Это противоречит основной идее безопасности типов в Kotlin, поэтому лучше использовать альтернативные способы обработки нулабельных значений. такие как оператор безопасного вызова ?., элвис-оператор ?: или оператор let

В данном случае лучше использовать функцию readln() для чтения с консоли, которая не будет выбрасывать исключение, если в нее придет null, а просто вернет строку (строка будет конфликтовать с приведением к целочисленному типу, но это другой кейс, важнее разобраться с нулябельностью). Она появилась относительно недавно, поэтому ее нет в видео гайдах.
Использование оператора `!!` подразумевает, что ты уверен в том, что значение не может быть `null`. Однако, если это не так, то приложение "упадет" с ошибкой. Поэтому этот оператор считается опасным и не рекомендуется использовать. Только в крайних случаях. 

Это противоречит основной идее безопасности типов в Kotlin, поэтому лучше использовать альтернативные способы обработки нулабельных значений. Такие как оператор безопасного вызова `?.`, элвис-оператор `?:` или оператор `let`.

Но пока я рекомендую использовать более свежую функцию readln(). Метод под капотом обрабатывает нулябельность и все кастует в строку (в том числе null становится строкой “null”.
Немного смущает битовый оператор `and`. В целом это не ошибка, но стоит помнить, что `&&` работает более оптимизированно для наших целей: если слева от знака выражение возвращает false, то правую часть он не будет проверять. Иногда это может благоприятно отображаться на экономии ресурсов
`capitalize` является `deprecated`. Предлагаю подыскать более актуальную альтернативу.
Конечно можно, использовать технологии не по уровню урока не запрещено. Только если обратное не прописано в условии. А так делать более красиво – только приветствуется, мы учимся решать задачи бизнеса.