如何在Kotlin中将字符串“前置”为字符串

时间:2013-12-29 04:07:07

标签: kotlin

这可能是最新手的Kotlin问题: 如何在Kotlin中将Char添加到字符串中?

e.g。

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

}

尝试在Char上调用+(例如plus)时,没有版本接受右侧的字符串,因此'H' + "ello World"无法编译

第一个解决方法可能已经足够好但是对于我来说,从Java中起作用的回归:String test = 'H' + "ello World";(编译好......)

我也不喜欢上一个解决方法,至少在java.lang.String我有一个接受单个字符的构造函数,或者我可以使用java.lang.Character.toString(char c)。在Kotlin有这样一种优雅的方式吗?

之前是否讨论过(向Char对象添加plus(str:String)重载?)

1 个答案:

答案 0 :(得分:20)

如何使用字符串模板,如下所示:

val prepended = "$char$string"