Javaで文字列を追加するappendメソッド【StringBuilderクラス】

StringBuilder appendメソッド
  • このエントリーをはてなブックマークに追加
  • Pocket

Javaで文字列を追加するにはいくつかの方法があるが、StringBuilderクラスを使うのも便利だ。

このページではStringBuilderクラスのappendメソッドを利用して、文字列を追加する方法をお伝えしよう。

文字列を追加する(append)

文字列「おはよう」へ「ございます」という文字列を追加して「おはようございます」としたい場合、以下の複数の方法がある。

  • Stringクラスを使用する。
  • StringBufferクラスを使用する。
  • StringBuilderクラスを使用する。

1のStringクラスを使用する場合は、プラス(+)演算子を使用して文字列を連結する。

ただし、Stringクラスの文字列は値を変更することができないので、連結した結果は新しい変数へ代入する必要がある。

2のStringBufferクラスと3のStringBuilderクラスはほぼ同じ機能を持つ。

どちらも新しいオブジェクトを新しく作ることなく、文字列の内容を変更することができる。

StringBuilderクラスはJava1.5で新しく追加されたクラスで、StringBufferよりも効率よく処理が行われるようになっている。

StringBuilderクラスを利用しての文字列追加処理

StringBuilderクラスを使った文字列の追加処理を見ていこう。

書き方の基本はこうなる。

対象文字列.append(追加対象 )

対象文字列の末尾へ追加対象が文字列として追加される。

追加対象として引数に指定できる値にはboolean型・char型・char型の配列・double型・float型・int型・long型・String型・StringBuffer型・・と様々な種類が用意されている。

どの型が引数として設定されても、文字列に変換して追加される。下記長く書いているが、お伝えしているのは同じ話だ。

サンプルコードまで飛んでいただいて構わない。

boolean型

append(boolean b)

戻り値の型

StringBuilder

内容

boolean 引数の文字列表現を対象文字列に追加する。

引数は、文字列に変換され、その文字列の文字が対象文字列に追加される。

char型

append(char c)

戻り値の型

StringBuilder

内容

char 引数の文字列表現を対象文字列に追加する。

引数は対象文字列に追加される。対象文字列の長さは 1 だけ増加する。

char型配列

append(char[] str)

戻り値の型

StringBuilder

内容

char 配列引数の文字列表現を対象文字列に追加する。

配列引数の文字は、対象文字列の内容に順番に追加される。対象文字列の長さは引数の長さの分だけ増加する。

double型

append(double d)

戻り値の型

StringBuilder

内容

double 引数の文字列表現を対象文字列に追加する。

引数は文字列に変換され、その文字列の文字が対象文字列に追加される。

float型

append(float f)

戻り値の型

StringBuilder

内容

float 引数の文字列表現を対象文字列に追加する。

引数は文字列に変換され、その文字列の文字が対象文字列に追加される。

int型

append(int i)

戻り値の型

StringBuilder

内容

int 引数の文字列表現を対象文字列に追加する。

引数は文字列に変換され、その文字列の文字が対象文字列に追加される。

long型

append(long lng)

戻り値の型

StringBuilder

内容

long 引数の文字列表現を対象文字列に追加する。

引数は文字列に変換され、その文字列の文字が対象文字列に追加される。

String型

append(String str)

戻り値の型

StringBuilder

内容

指定された文字列を対象文字列に追加する。

String 引数の文字が、順番に対象文字列に追加される。その結果、引数の長さの分だけ対象文字列の長さが増えます。str が null の場合、"null" の 4 文字が追加される。

StringBuffer型

append(StringBuffer sb)

戻り値の型

StringBuilder

内容

指定された StringBuffer を対象文字列に追加する。

StringBuffer 引数の文字が、順番に対象文字列に追加される。その結果、引数の長さの分だけ対象文字列の長さが増えます。sb が null の場合、"null" の 4 文字が対象文字列に追加される。

サンプルコード

実行結果

サンプルコードの説明

簡単にサンプルコードの説明を行おう。

  • [1] StringBuilder型の変数sbを「おはよう」で初期化し、appendメソッドを利用して文字列「ございます。」を追加。結果を表示する。
  • [2] 変数sbにboolean型変数boolを追加し、結果を表示する。boolean値が文字列として追加されている。
  • [3] 変数sbにdouble型変数dNumを追加し、結果を表示する。
  • [4] 変数sbにchar型変数chを追加し、結果を表示する。
  • [5] 変数sbにchar型配列の変数cArrayを追加し、結果を表示する。配列の要素を取り出して一つ一つ追加しなくても一度の操作で配列中の文字すべてを追加
  • [6] 変数sbにint型変数numを追加し、結果を表示する。
  • [7] 変数sbにlong型変数lNumを追加し、結果を表示する。
  • [8] 変数sbにfloat型変数fNumを追加し、結果を表示する。
  • [9] 変数sbにString型変数strを追加し、結果を表示する。
  • [10] 変数sbにStringBuffer型変数sbfを追加し、結果を表示する。
  • [11] 変数sbにString型変数strNullを値がnullのまま追加し、結果を表示する。

まとめ

このページではJavaで文字列を追加するStringBuilderクラスのappendメソッドについてご紹介した。

処理は早く、新しくオブジェクトを作ることもない。ぜひ積極的に使っていただければと思う。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*