Javaでの文字列結合のパターンを解説。性能良く速度が早いのは
Javaで文字列を結合する方法について、よく使われるプラス演算子を使う方法から、その他にもよく使われるオーソドックスなパターンを解説します。nullやカンマの対処法についても併せて紹介します。これを機に文字列結合をマスターしましょう。
問題解決力を身に付ける若手、新人SE・PG向けの通年Java研修(1~3ヶ月コース)はこちら
目次[非表示]
Javaで文字列結合をするときの基本パターン
文字列結合とは、文字列の後ろに別の文字列を結合し、一つの文字列とする処理のことです。プログラムでは、結果やコメントメッセージをアウトプットする際によく使われます。
Javaの文字列結合について、よく使われるパターンを紹介しますので覚えておきましょう。
学歴、学部による「IT知識」「基礎知識」の格差を無くす個別指導の新人研修プロエンジニア育成コース(Java2・3ヶ月コース)はこちら
プラス演算子を使う
もっともよく使われる、シンプルな方法です。次の例を参考に見ていきましょう。
この場合、コンソールでは「209」という数字が表示されます。これは、文字列ではなく数字として扱われているためです。文字列として扱うには、数字を「"」(ダブルクオーテーション)で囲む必要があります。
この結果は「2009」と表示されます。「200」と「9」を、それぞれ文字として扱っているためです。
StringBuilderクラスを使う
Stringクラスは文字列を扱うクラスのことで、Javaを使う上では触れる機会は多くあります。Stringクラスは、一度作成した文字列に後から文字を追加することができません。この問題を解決できるのが「StringBuilder」というクラスです。
このサンプルを実行すると「今は0番目です。今は1番目です。今は2番目です。今は3番目です。今は4番目です。今は5番目です。今は6番目です。今は7番目です。今は8番目です。今は9番目です。」という結果が得られます。このように、for文と組み合わせて文字列を結合させることもできます。
StringBuilderのappendを使って文字列結合する
appendメソッドとは、文字を連結する際に使用するメソッドです。StringBuilderクラスのappendメソッドは、以下のように使います。
対象文字列の後ろに、追加文字列が連結されます。具体的には、以下のように記述します。実行すると「こんにちは。良い天気ですね」となります。
concatメソッドを使う
concatメソッドは、引数で指定した文字列を、結合対象とする文字列の末尾に結合するためのメソッドになります。
記述はとてもシンプルです。str1のオブジェクトに対してconcatメソッドを使用して、str2の文字列を末尾に指定しています。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)はこちら
Javaの文字列結合にはjoinも使える
joinはJava8から新しく追加された機能です。StringJoinerクラスのメソッドとして使います。
記述はこのようになります。第1引数に「と」の文字を指定することで、第2引数以降の文字列は「と」で区切られることになります。そのため、結果は以下のようになります。
joinメソッドはString型の配列でも使用することが可能です。
■関連記事
Javaの文字列結合でnullやカンマの対処方法
nullやカンマを結合させたい場合、どのようにコードを記述すれば良いのかを解説します。
若手、新人エンジニアの成長を阻む 人材育成5つの失敗と解決策はこちら
文字列がnullの場合の対処方法
結合する文字列がnullの場合、「java.lang.NullPointerException」の例外が返ってきてしまいます。上記に紹介したようなプラス演算子やstringクラスを使用する場合、nullを扱うことはできません。
例外を回避するためには、StringUtilsクラスのisEmptyメソッドを使用することになります。
カンマ区切りで処理する方法
文字列を直接結合させるのではなく、カンマ区切りで結合したい場合もあるでしょう。
その場合の方法としては、上記に紹介したjoinメソッドを使う場合がまずは有効です。
このように、第1引数をカンマにすれば、カンマで区切られた結果が表示されるようになります。
別の方法として、拡張for文の中に配列の要素ごとにappendメソッドを使用し、カンマと文字列を交互に結合するという方法もありますが、joinメソッドを使った方がはるかに簡単です。
貴社の希望日に合わせて受講できる個別指導型の短期Java講座(入門5日・基礎10日)はこちら
■関連記事
Javaの文字列結合の基本をマスターしよう
Javaの文字列結合は、メッセージの出力やbotのメッセージ出力など、多くの場面で使われます。
プラス演算子を使うのがシンプルですが、文字が長くなりそうな場合、カンマを挟んで出力する場合などさまざまなケースに対応できるように、色々なやり方を覚えておきましょう。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)資料ダウンロードはこちら