String【5分で分かる】Java言語のStringBufferの使い方とStringBuilderとの違いヤマシタ2017/2/182019/5/28Javaを使う上で、文字列を扱うStringクラスはご存知の方も多いと思いますが、StringBufferクラスは、使ったことがない方も多いのではないでしょうか?StringBufferもStringと同じく文字列を扱うクラスですが、使い方によって用途が異なります。StringBufferクラスはStringクラスとどう違うの?どのような時に使えばよいの?他の文字列を扱うクラスとどう住み分けすればよいのか?この記事を読めば、これらの疑問が解決できるでしょう。まとめStringBufferとはStringBufferクラスは、Stringクラス同様に宣言した変数に文字列を格納するために使用します。文字列操作が可能なことが挙げられます。StringBufferクラスは、文字列の値が「不変である」と分かっているときに、使用するケースが多いと言えます。StringBufferの使い方StringBufferは以下のように宣言を記述します。StringBuffer("文字列");実際にStringBufferの簡単な使い方を、以下に紹介します。orange紹介した例では、StringBuffer型変数sStrBuf1とsStrBuf2を宣言して、文字列を格納しています。(ここまではString型と同じ)続いて、変数sStrBuf1にappendメソッドを使って、sStrBuf2を結合しています。出力結果は、sStrBuf1の文字列にsStrBuf2を結合した結果である”appleorange”が表示されます。insertメソッドを使用すれば、文字列に値を挿入することが可能です。orange”が表示されます。StringBuilderとの違いは?StringBufferクラスとStringBuilderクラスは、文字列の追加・変更などが行えますが、その違いはなんでしょうか?違いを一言でいうと、StringBufferはマルチスレッドで、同じStringBufferのインスタンスにアクセスできます。マルチスレッドとは、複数の処理を並行して進めることを言います。そのため、ユーザーが1つの処理の完了を待たずに次の処理が実行できたり、メモリなどのリソースを節約できるといった利点があります。StringBuilderは、マルチスレッドに不向き(実行結果が保証されていない)なことが挙げられます。2019年5月9日まとめStringBufferクラスは、Stringクラスと違ってさまざまな文字列操作ができることがわかりました。可変長(データの長さを問わない)であるため、値を繰り返しセットできる値を追加・挿入・変更することができるマルチスレッド(並行処理)に対応しているもし、StringBufferの使い方を忘れてしまったら、この記事を思い出してくださいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。無料体験レッスンを予約する書いた人ヤマシタシステムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。