是否有理由使用 Scala 的 StringLike.replaceAllLiterally 而不是 Java 的 String.replace?

2024-05-04

Scala 的 StringLike 有该方法replaceAllLiterally(literal: String, replacement: String): String https://github.com/scala/scala/blob/56b7c0f8fa6c1037905867aec88520476dbd3baa/src/library/scala/collection/immutable/StringLike.scala#L166

这似乎与 Java 的 String 方法的效果非常相似String replace(CharSequence target, CharSequence replacement) http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replace%28java.lang.CharSequence,%20java.lang.CharSequence%29.

有理由使用 Scala 版本吗?

(不经过正则表达式编译步骤似乎会使 Java 的版本更快,尽管我还没有对此进行基准测试)


这是为了避免碰撞replace on StringBuilder. StringBuilder也是一个StringLike。为什么StringBuilder replace不是要改变的那个,我不确定。

没有理由在字符串上使用它,除非你想处理任何StringLike(即包裹的字符串及其构建器)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有理由使用 Scala 的 StringLike.replaceAllLiterally 而不是 Java 的 String.replace? 的相关文章

随机推荐