我想更有效地执行以下操作:
def repeatChar(char:Char, n: Int) = List.fill(n)(char).mkString
def repeatString(char:String, n: Int) = List.fill(n)(char).mkString
repeatChar('a',3) // res0: String = aaa
repeatString("abc",3) // res0: String = abcabcabc
对于字符串,您只需要编写即可"abc" * 3
,它可以在幕后StringOps
使用并StringBuffer
在幕后使用。
对于字符,我认为您的解决方案非常合理,尽管char.toString * n
可以说更加清晰。您是否有任何理由怀疑该List.fill
版本的效率不足以满足您的需求?您可以编写自己的方法,该方法将使用StringBuffer
(类似于*
on StringOps
),但是我建议您首先要明确目的,然后仅在有确凿的证据证明程序中存在问题时才担心效率。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句