Проверка на пустые и пустые значения с помощью оператора Элвиса - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть:

return if(mValue== null || mValue.asString.isNullOrEmpty()) "Home" else mValue.asString

Я пытался выполнить оператор Элвиса:

return mValue?.asString ?: "Home"

Но я также хочу проверить пусто также для mValue.

Так что, если mValue равно нулю или пусто, я хочу вернуть "Home", иначе вернуть его содержимое в String, не используя when или if.

Спасибо!

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

Вы можете объединить orEmpty и ifEmpty:

return mValue?.asString.orEmpty().ifEmpty { "Home" }

Является ли это улучшением или нет, я не знаю.

1 голос
/ 21 апреля 2020

Вы не можете использовать оператор elvis для случая, если строка пуста. Согласно документации оператор elvis используется только для проверки, является ли переменная нулевой или нет. Поэтому я бы предложил вам использовать:

return if (mValue.isNullOrEmpty()) "Home" else mValue

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...