Как объединить строки в Kotlin? - PullRequest
1 голос
/ 29 мая 2019

Очевидно, что существует несколько способов объединения строк в Kotlin:

  1. processString (pojo.name + "" + pojo.value)
  2. processString ("$ {pojo.name} $ {pojo.value} ")
  3. processString (pojo.name.plus (" ") .plus (pojo.value))

Конечно, также с StringBuilder, concat() -Метод и т. Д. Те, которые будут работать.

Но мой вопрос заключается в том, почему Android Studio предлагает «преобразовать конкатенацию в шаблон» и преобразует 1. в 2.? Есть ли какие-либо преимущества в скорости с 2.?Итак, какое преимущество с помощью 2.?

Ответы [ 2 ]

4 голосов
/ 29 мая 2019

TL; DR: Строковые шаблоны - самый идиоматический способ объединения строк

Документация состояния

Обратите внимание, что в большинстве случаев использование строковых шаблонов или необработанных строк предпочтительнее конкатенации строк.

Строковые шаблоны в основном аналогичны обычной конкатенации (с использованием +), но более компактны, идиоматичны и одинаково эффективны . Оба варианта реализованы с использованием StringBuilder s в байтовом коде.

0 голосов
/ 29 мая 2019

Это потому, что 1. подход происходит от Java. Конечно, компилятор знает, что происходит, но предлагается использовать его в Kotlin, как указано в 2. пункте. Использование подхода 2. лучше, потому что вы можете запутаться с оператором + (plus()), который используется для суммирования чисел.

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