我需要修改输入字符串以返回一些输出。基本上,当我看到特定的字符串时,我需要将其删除。我在考虑是否使用 StringBuilder 与 String。从我的角度来看,String 会简单得多。
假设:
StringBuilder input = new StringBuilder(inputs)
if(inputs.contains("someword)"")) {
// remove it by inputs = inputs.replace("someword", "");
}
最好使用StringBuilder input = new StringBuilder(inputs)
并删除特定字符串,还是使用原始inputs =inputs.replace(...)。
我认为使用StringBuilder
会变得困惑。 StringBuilder
用于连接,但我不连接字符串。
最佳答案
过去,当您对 String
进行多次修改时,StringBuilder
大多数时候都比 String
快得多。
但从 JDK 6 开始,编译器本身通常会自动将 String
替换为 StringBuilder
(包括所有相关行),这可能会提高性能。通过使用反编译器,这一点变得可见。因此在大多数情况下您不会注意到任何差异。
如果您对结构比简单的一批命令更复杂的字符串应用多个操作,那么使用 StringBuilder
仍然比自动编译器优化更好。
关于java - 字符串与 StringBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60267845/