可能性の重複:私は疑問に思って
StringBuilder vs String concatenation in toString() in Javaコンパイラが文字列連結を自動的にStringBuilderに変換する場合、なぜStringBuilderを明示的に使用するのですか?
、コンパイラが内部で文字列の連結を実行する2つの文字列を追加するのStringBuilderを使用しているため、その後、ポイント何だと私は気にすべき理由使用しますStringBuilderは、文字列の連結がすでにあなたのために仕事をしていた場合ですか?その他の具体的な理由はありますか?
@JohanSjöbergはい、実際はそうです。 'result = = bar(foo [i])'を実行すると、(javacを仮定して) 'result = new StringBuilder()。append(result).append(foo [i])。toString()'のようなコードが生成されます。これは、1つの 'StringBuilder'を使うよりもはるかに多くの作業であることに注意してください。 – oldrinb
@JohanSjöberg重要な点は、サンプルが同等ではないことです。 – oldrinb
私はまだそれほど明確ではないのですか?それは最初のサンプルの連結を行う前に古い文字列(前)をコピーする必要があるからですか? – peter