как установить несколько kotlin переменных в одной строке - PullRequest
0 голосов
/ 06 марта 2020

Я хочу заполнить две переменные в одной строке, но я не знаю лучший способ сделать это в kotlin

var a:String? = null
var b:String? = null
a, b = "Text"

Ответы [ 2 ]

3 голосов
/ 06 марта 2020

Невозможно в Kotlin (если вы не готовы прибегнуть к некоторым надуманным конструкциям с повторением, как описано в других ответах и ​​комментариях). Вы даже не можете написать

    a = b = "Text"

, потому что, как ни странно, назначения - это , а не выражений в Kotlin (в отличие от почти всего остального, например if, return, throw , swicth, et c., Которые являются выражениями в Kotlin, но не в Java, например).

Итак, если вы хотите назначить точно то же самое значение без повторения (присвоенного значения), вам нужно будет написать

    a = "Text"
    b = a

Обратите внимание, что есть также функция also (каламбур предназначен), поэтому технически вы можете написать следующее если вы действительно хотите остаться на одной линии

    a = "Text".also { b = it }

, но я сомневаюсь, что это действительно того стоит.

0 голосов
/ 06 марта 2020
var a: String? = null; var b: String? = null

или

var (a: String?, b: String?) = null to null

Но, пожалуйста, никогда не делайте этого

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