Kotlin で aChar
を a の先頭に追加するにはどうすればよいString
ですか?
例えば
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 で(eg )を呼び出そうとするとplus
、右側に String を受け入れるバージョンがないため、'H' + "ello World"
コンパイルされません。
最初の回避策で十分かもしれませんが、Javaで機能するものからの回帰です:(String test = 'H' + "ello World";
コンパイルは正常に...)
また、最後の回避策も好きではありません。少なくともjava.lang.String
、単一の文字を受け入れるコンストラクターがあるか、使用できますjava.lang.Character.toString(char c)
。Kotlinでそうするためのエレガントな方法はありますか?
これは以前に議論されましたか ( plus(str:String)
Char オブジェクトにオーバーロードを追加しますか?)