catch-img

Javaでの文字列結合のパターンを解説。性能良く速度が早いのは

Javaで文字列を結合する方法について、よく使われるプラス演算子を使う方法から、その他にもよく使われるオーソドックスなパターンを解説します。nullやカンマの対処法についても併せて紹介します。これを機に文字列結合をマスターしましょう。

問題解決力を身に付ける若手、新人SE・PG向けの通年Java研修(1~3ヶ月コース)はこちら

目次[非表示]

  1. 1.Javaで文字列結合をするときの基本パターン
    1. 1.1.プラス演算子を使う
    2. 1.2.StringBuilderクラスを使う
    3. 1.3.StringBuilderのappendを使って文字列結合する
    4. 1.4.concatメソッドを使う
    5. 1.5.Javaの文字列結合にはjoinも使える
  2. 2.Javaの文字列結合でnullやカンマの対処方法
    1. 2.1.文字列がnullの場合の対処方法
    2. 2.2.カンマ区切りで処理する方法
  3. 3.Javaの文字列結合の基本をマスターしよう

Javaで文字列結合をするときの基本パターン

文字列結合とは、文字列の後ろに別の文字列を結合し、一つの文字列とする処理のことです。プログラムでは、結果やコメントメッセージをアウトプットする際によく使われます。

Javaの文字列結合について、よく使われるパターンを紹介しますので覚えておきましょう。

学歴、学部による「IT知識」「基礎知識」の格差を無くす個別指導の新人研修プロエンジニア育成コース(Java2・3ヶ月コース)はこちら

プラス演算子を使う

もっともよく使われる、シンプルな方法です。次の例を参考に見ていきましょう。

System.out.println(200 + 9);

この場合、コンソールでは「209」という数字が表示されます。これは、文字列ではなく数字として扱われているためです。文字列として扱うには、数字を「"」(ダブルクオーテーション)で囲む必要があります。

System.out.println("200" +"9");

この結果は「2009」と表示されます。「200」と「9」を、それぞれ文字として扱っているためです。

StringBuilderクラスを使う

Stringクラスは文字列を扱うクラスのことで、Javaを使う上では触れる機会は多くあります。Stringクラスは、一度作成した文字列に後から文字を追加することができません。この問題を解決できるのが「StringBuilder」というクラスです。

public class Main {
  public static void main(String[ ] args) {
    StringBuilder val = new StringBuilder();
    for(int count = 0; count < 10; count++) {
      String number = Integer.toString(count);
      val.append("今は" + number + "番目です。" );
    }
    System.out.println(new String(val));
  }
}

このサンプルを実行すると「今は0番目です。今は1番目です。今は2番目です。今は3番目です。今は4番目です。今は5番目です。今は6番目です。今は7番目です。今は8番目です。今は9番目です。」という結果が得られます。このように、for文と組み合わせて文字列を結合させることもできます。

StringBuilderのappendを使って文字列結合する

appendメソッドとは、文字を連結する際に使用するメソッドです。StringBuilderクラスのappendメソッドは、以下のように使います。

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

対象文字列の後ろに、追加文字列が連結されます。具体的には、以下のように記述します。実行すると「こんにちは。良い天気ですね」となります。

public class Main {
  public static void main( String args[] ) {
    StringBuilder sb = new StringBuilder();
    sb.append( "こんにちは。" );
    sb.append( "良い天気ですね" );
    System.out.print( sb.toString() );
  }
}

concatメソッドを使う

concatメソッドは、引数で指定した文字列を、結合対象とする文字列の末尾に結合するためのメソッドになります。

public class Main {
  public static void main( String args[] ) {
    StringBuilder sb = new StringBuilder();
    String str1 = "りんご";
    String str2 = "みかん";
    String concat1 = str1.concat(str2);
    System.out.println(concat1);
  }
}

記述はとてもシンプルです。str1のオブジェクトに対してconcatメソッドを使用して、str2の文字列を末尾に指定しています。

全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)はこちら

Javaの文字列結合にはjoinも使える

joinはJava8から新しく追加された機能です。StringJoinerクラスのメソッドとして使います。

public class Main {
  public static void main(String[] args) {
    //joinを使用する
    String str = String.join("と", "レッド", "イエロー", "ブルー");
    System.out.println(str);
  }
}

記述はこのようになります。第1引数に「と」の文字を指定することで、第2引数以降の文字列は「と」で区切られることになります。そのため、結果は以下のようになります。

レッドとイエローとブルー

joinメソッドはString型の配列でも使用することが可能です。

■関連記事

  Javaの正規表現の基本。利用方法や組み合わせ、文字列の検索 | Java・フロントエンド研修のジョブサポート たくさんの文字列の中から、電話番号や住所など、見付けたい文字を発見するために使われるのが正規表現です。Javaにおける正規表現の基本を押さえておきましょう。正規表現の利用方法や組み合わせについて詳しく解説します。 Java・フロントエンド研修のジョブサポート


Javaの文字列結合でnullやカンマの対処方法

nullやカンマを結合させたい場合、どのようにコードを記述すれば良いのかを解説します。

若手、新人エンジニアの成長を阻む 人材育成5つの失敗と解決策はこちら

文字列がnullの場合の対処方法

結合する文字列がnullの場合、「java.lang.NullPointerException」の例外が返ってきてしまいます。上記に紹介したようなプラス演算子やstringクラスを使用する場合、nullを扱うことはできません。

例外を回避するためには、StringUtilsクラスのisEmptyメソッドを使用することになります。


カンマ区切りで処理する方法

文字列を直接結合させるのではなく、カンマ区切りで結合したい場合もあるでしょう。

その場合の方法としては、上記に紹介したjoinメソッドを使う場合がまずは有効です。

public class Main {
  public static void main(String[] args){
    //joinを使用する
    String str = String.join(",", "レッド", "イエロー", "ブルー");
    System.out.println(str);
  }
}

このように、第1引数をカンマにすれば、カンマで区切られた結果が表示されるようになります。

別の方法として、拡張for文の中に配列の要素ごとにappendメソッドを使用し、カンマと文字列を交互に結合するという方法もありますが、joinメソッドを使った方がはるかに簡単です。

貴社の希望日に合わせて受講できる個別指導型の短期Java講座(入門5日・基礎10日)はこちら

■関連記事

  Javaの引数について基本的な考え方。参照渡しの注意点も解説 | Java・フロントエンド研修のジョブサポート 引数はプログラムを組む上で重要な要素です。引数の理解を曖昧にしておくと、Javaを扱うのが難しくなります。ここでは、引数に対する基本的な考え方について解説します。引数の扱いや参照渡しについて、理解を深めましょう。 Java・フロントエンド研修のジョブサポート


Javaの文字列結合の基本をマスターしよう

Javaの文字列結合は、メッセージの出力やbotのメッセージ出力など、多くの場面で使われます。

プラス演算子を使うのがシンプルですが、文字が長くなりそうな場合、カンマを挟んで出力する場合などさまざまなケースに対応できるように、色々なやり方を覚えておきましょう。

全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)資料ダウンロードはこちら

新卒・中途未経験者を採用した
企業におすすめのエンジニア研修サービス

法人研修の実績2500名以上!中小企業~大手上場企業まで幅広く受講してます。
若手、新人エンジニア採用後の Java研修はジョブサポートお任せ下さい
おすすめお役立ち資料02
短期講座(入門5日、基礎10日) Java・フロントエンド (HTML5・CSS・JavaScript) 全国の中小~大手企業まで幅広くお問い合わせ、 受講を頂く人気講座です

運営会社

株式会社ジョブサポート

Java・フロントエンド(HTML5・CSS・JavaScript)の企業研修実績2500名以上を実施。受講満足度は95%。

おすすめお役立ち資料

おすすめお役立ち資料02
おすすめお役立ち資料02

関連記事

研修サービス一覧

プロエンジニア育成コース
新人エンジニア研修
短期通学講座
研修実績
よくあるご質問

ランキング

タグ一覧