gpt4 book ai didi

string - 围绕 Scala 字符串

转载 作者:行者123 更新时间:2023-12-05 08:24:26 26 4
gpt4 key购买 nike

如果您在单个语句中执行某些操作,例如“abc”+ stringval +“abc”,那么是一个不可变的字符串副本,还是两个(注意 abc 和 123 在编译时是常量)

奖励回合:使用像下面这样的 StringBuilder 会产生更多还是更少的开销?

  def surround(s:String, ss:String):String = {
val surrounded = new StringBuilder(s.length() + 2*ss.length(), s)
surrounded.insert(0,ss)
surrounded.append(ss)
surrounded.mkString
}

或者是否有我不知道的更惯用的方式?

最佳答案

它的开销比连接少。但是您示例中的插入效率不高。以下内容更简洁一些,仅使用追加来提高效率。

def surround(s:String, ss:String) =
new StringBuilder(s.length() + 2*ss.length(), ss).append(s).append(ss).mkString

关于string - 围绕 Scala 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8352764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com