如何在Kotlin“预加”一个字符串到字符串
这可能是最新的Kotlin问题:在Kotlin中,我可以在字符串前添加一个字符?
例如
fun main(args: Array) { 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)
重载?)
如何使用字符串模板,如下所示:
val prepended = "$char$string"