Как "добавить" символ к строке в Котлин

это, вероятно, самый Новичок Котлин вопрос там: Как в Котлине я могу добавить символ к строке?

например

fun main(args: Array<String>) {
  val char = 'H'
  val string = "ello World"
  val appendingWorks = string + char //but not what I want...
  //val prependingFails = char + string //no .plus(str:String) version
  val prependingWorkaround1 = char.toString() + string
  val prependingWorkaround2 = "" + char + string
  val prependingWorkaround3 = String(charArray(char)) + string

}

при попытке вызова + (например,plus) на Char нет версии, которая принимает строку справа, поэтому'H' + "ello World" не компилируется

первый обходной путь может быть достаточно хорош, но это регрессия для меня от того, что работает в Java: String test = 'H' + "ello World"; (компилируется нормально...)

мне тоже не нравится последний обходной путь, по крайней мере, в java.lang.String у меня есть конструктор, который принимает один чар, или я могу использовать java.lang.Character.toString(char c). Есть ли элегантный способ сделать это в Котлине?

это обсуждалось ранее (добавление plus(str:String) перегрузка на объект Char?)

1 ответов


Как насчет использования шаблонов строк, например:

val prepended = "$char$string"