Присвойте значение переменной, только если оно не равно нулю - Котлин - PullRequest
0 голосов
/ 15 мая 2018

В Kotlin есть чистый способ присвоить значение переменной, только если значение не равно нулю?

Пример:

if(x != null)
   y = x

Я нашел решение, как

y = x? : return

но я не могу понять, делает ли это то, что я хочу, и как работает этот оператор.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Другое решение, если вы еще не хотите возвращаться из функции:

x?.let{ y = it }

Который проверяет, является ли x ненулевым, затем передает его как единственный параметр лямбда-блоку.

Это также безопасный вызов, если ваш x является var.

0 голосов
/ 15 мая 2018

Оператор называется Элвис Оператор. Он оценивает, если x не равно нулю, и если это правда, присваивает x y. Если значение равно нулю, оно оценивает оператор после знака вопроса, возвращая его немедленно и, следовательно, оставляя y нетронутым.

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