【Java】StringBufferとStringBuilderの違い
教科書的な解説
StringBuffer
可変の文字列を扱う。
Stringクラスは、文字列を変更するたびに新しいオブジェクトを生成するが、StringBufferは、生成されたオブジェクトに文字列を追加していく。
つまり、生成されるオブジェクトは1つだけになる。
StringBuilder
可変の文字列を扱う。
JDK1.5でリリースされたクラスで、StringBufferと同じメソッドを持っているし、使い方もStringBufferと同じ。
StringBufferとの違いは「スレッドセーフではない(同期化しない)」こと。
同期化しないので、処理が早い。
どっちを使えばいい?
新人研修の場合
研修の課題で処理速度が求められることはまずないので、どっちを使ってもいいと思う。
意味が分からなくてもいいから、違いを聞かれた時にパッと答えられれば(新人なので)それでいい・・・と私は思ってる。
どちらかというと、StringBuffer/StringBuilderが使えるようになってほしい
業務での場合
既存プログラムの改修であれば、すでに多用されている方を使った方がいい。
お作法的にNGだったとしても、その後のメンテナンス性を考慮すると、あえて既存を踏襲した方が良いことの方が多いので。
1から新規で作るなら、(個人的には)速度性を重視してStringBuilderを使う。
Author And Source
この問題について(【Java】StringBufferとStringBuilderの違い), 我々は、より多くの情報をここで見つけました https://qiita.com/mtanabe/items/ecdf9a751b005a939cd2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .