这可能是最新手的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)
重载?)
答案 0 :(得分:20)
如何使用字符串模板,如下所示:
val prepended = "$char$string"