Привет!
Возьмем пример:
val map = HashMap<String, String>()
val str = map["str"]?.trim()?.toLowerCase()
Если я правильно понимаю,
trim не может вернуть
null. Однако меня заставляют использовать после него знак вопроса (
?). Я думал, что как только
safe call встретит
null,
null и будет возвращен, иначе цепочка продолжится с
not null значения. Но видимо это не так.
Буду благодарен, если подскажете как на самом деле это работает, и почему после
trim мне приходится юзать
safe call (в каком случае это может пригодится).
Спасибо.