Java 字符串与StringBuilder

Java 字符串与StringBuilder,java,string,stringbuilder,Java,String,Stringbuilder,我需要修改输入字符串以返回一些输出。基本上,当我看到一个特定的字符串时,我需要删除它。我正在考虑是否使用StringBuilder而不是String。从我的角度来看,字符串会简单得多 假设: StringBuilder input = new StringBuilder(inputs) if(inputs.contains("someword)"")) { // remove it by inputs = inputs.replace("someword", ""); } 使用Str

我需要修改输入字符串以返回一些输出。基本上,当我看到一个特定的字符串时,我需要删除它。我正在考虑是否使用StringBuilder而不是String。从我的角度来看,字符串会简单得多

假设:

StringBuilder input = new StringBuilder(inputs)
if(inputs.contains("someword)"")) {
     // remove it by inputs = inputs.replace("someword", "");
}
使用
StringBuilder input=new StringBuilder(inputs)
并删除特定字符串或使用原始的
inputs=inputs.替换(…)。


我认为使用
StringBuilder
会变得很麻烦
StringBuilder
用于缩合,但我不是在缩合字符串。

过去,对
字符串进行多次修改时,
StringBuilder
的速度比
String
快很多倍

但自JDK 6以来,编译器本身通常会自动地用
StringBuilder
(包括所有相关行)替换
String
,这样可以提高性能。这通过使用反编译器变得可见。所以在大多数情况下,你不会注意到任何区别


如果对一个字符串应用多个操作的结构比简单的一批命令更复杂,那么使用
StringBuilder
仍然比自动编译器优化更好。

如果不“构建字符串”,为什么需要使用StringBuilder?内部替换代码基本上是same@GiorgiTsiklauri这是一个C#问题。使用C#questions作为Java问题的重复目标并不十分合适。偶然引用,但想法基本相同。
inputs
复数与
input
单数到底是什么。你的问题不清楚。这并没有解决问题的具体场景。马克,请你说得更具体一些好吗?你只是在描述字符串与字符串生成器的通用用例在串联(例如在循环中)方面的性能,但是OP要求在
StringBuilder
vs
String
上使用
replace