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

Era*_*dan 9 kotlin

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

例如

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

}
Run Code Online (Sandbox Code Playgroud)

当试图在Char上调用+(例如plus)时,没有版本接受右边的String,因此'H' + "ello World"不编译

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

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

之前是否讨论过这个问题(plus(str:String)为Char对象添加了一个重载?)

Sky*_*ode 24

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

val prepended = "$char$string"
Run Code Online (Sandbox Code Playgroud)

  • 这种语言让我很开心. (5认同)