以前にJavaを使用したとき、私はより長いステッチを持つStringBuffer for Stringと呼ばれるクラスがあることを知っていました。 C#に目を向けると、StringBuilderと呼ばれる一種の機能もあります。
後で、Javaに戻ったとき、JavaにもStringBuilderがあることがわかりました。そのため、StringBufferの後にStringBuilderを起動した理由に興味がありました。
JavaのStringBuilder(C#と同じ)は非スレッドセキュリティであり、以前のStringBufferには特定のスレッドセキュリティ属性があることがわかります。もちろん、StringBuilderの発売は、主に複数のスレッドで使用する必要がないためです。
StringBuilder(またはStringBuffer)の一般的なケースは::
public string toString(){return new StringBuilder().Appnd( "name:" + name).appnd( "foo:" + foo).appnd( "bar:" + bar).tring();}
この場合、StringBuilderはクラスのメンバーではありません。これは、マルチスレッドの問題ではありません。
その結果、StringBuilderの導入により、パフォーマンスが大幅に向上し、セキュリティの問題はありませんでした...