JavaのStringBufferクラスの使い方を現役エンジニアが解説【初心者向け】
初心者向けにJavaのStringBufferクラスの使い方について解説しています。StringBufferクラスは文字列の操作を頻繁に行う場合に便利なクラスです。基本の書き方とStringBuilderクラスとの違いについて覚えておきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
JavaのStringBufferクラスの使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。
今回は、Javaに関する内容だね!
どういう内容でしょうか?
StringBufferクラスの使い方について詳しく説明していくね!
お願いします!
StringBufferクラスとは
文字列を連結したり、操作するためのクラスです。
Stringクラスでも文字列連結は可能ですが、何回も文字列連結を実行して一つの変数に格納したり、for文で繰り返し連結処理をする場合にはこちらのStringBufferクラスを使います。
Stringクラスとの違い
Stringクラスは固定長で変更不可能な文字列を格納します。一方で、StringBufferクラスは可変長で変更・操作可能な文字列を格納します。
また、Stringクラスでも「+」を使って文字列連結が可能ですが、この場合毎回新しいインスタンスが生成されるため、処理コストが高くなります。そのため、StringBufferという文字列操作のためのクラスが必要なんですね。
StringBufferクラスの使い方
以下の手順で使うことができます。
- まずnewしてインスタンスを生成
- appendメソッドを使って文字列を連結
- 連結が完了したら、Stringクラスの変数に格納する
実際に手順通りにコードを書いてみましょう。
Javaでhtmlコードを生成するサンプルプログラム
// 手順1 StringBuffer sb = new StringBuffer(); // 手順2 sb.append("<div>"); sb.append("<p>"); sb.append("こんにちは"); sb.append("</p>"); sb.append("</div>"); // 手順3 String htmlCode = sb.toString(); // 処理結果の確認 System.out.println(htmlCode);
実行結果
<div><p>こんにちは</p></div>
このようにStringBufferクラスを使うと、CSVファイルの1行データの生成やHTMLコードの生成時に非常に便利です。
StringBufferクラスとStringBuilderクラスの違い
javaのバージョン1.5から、StringBuilderクラスが追加されました。StringBufferとの主な違いは、以下の2点です。
- StringBuilderの方が処理速度が速い
- StringBufferはスレッドセーフである
そのため、非同期処理などの特殊な状況でなければ、StringBuilderクラスを使う方式が処理が高速でおすすめです。
まとめ
文字列をいくつも連結する時は、StringBufferやStringBuilderクラスを使って効率的にプログラミングを進めましょう。
監修してくれたメンター
寺谷文宏
WEBアプリケーションエンジニアとして数多くのプロジェクトを経験し、フロントエンドからサーバーサイドまで総合的な開発を得意としています。 TechAchademyではフロントエンド、Javaコースを担当。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。