【Java String】joinメソッドで文字列を連結する方法まとめ


JavaのStringクラスのjoinメソッドで文字列を連結する方法が知りたい
String型の配列でもjoinメソッドで連結できるの?

Javaで文字列を扱う上で、文字列を連結するといった対応が必要なことがあります。

今回は文字列を連結するStringクラスのjoinメソッドの使い方について、わかりやすく解説します!

joinメソッドとは

joinメソッドは、Java8から新しく追加された機能で、StringJoinerクラスのメソッドになります。

java.util.StringJoiner

joinは文字列を連結するときに使用するメソッドで、第一引数をデリミタとし、第二引数を接頭辞として以降指定された接頭辞の終わりまでの文字列が区切られます。

つまり、指定したデリミタのコピーを使用して、第二引数以降指定した文字列を、デリミタ区切りで結合した文字列として返します。

String sj = String.join("デリミタ", "文字列1", "文字列2", "文字列3");

java8で新しく追加された機能ついては、以下の記事で詳しく解説しています!

また、スレッドが終了するまで待機するメソッドとしてjoinメソッドがありますが、機能としては別物です。

joinで文字列を連結する方法

文字列を連結するにはさまざまな方法がありますが、java8で追加されたjoinメソッドは使い方がとてもシンプルです。ここでは、joinメソッドを使用して、文字列を連結する方法について説明します。

文字列を連結する

joinを使用した文字列の連結方法を以下に記述します。

public class Main {
    public static void main(String[] args) throws Exception {

        //joinを使用する
        String str = String.join(",", "apple", "orange", "melon");
        System.out.println(str);
    }
}

実行結果

apple,orange,melon

サンプルでは、String型変数を定義し、joinメソッドを使用して第一引数にデリミタ「","(カンマ)」を指定しています。

そのため、第二引数以降の文字列が「","」で区切られることになります。なお、指定するデリミタは「"."(ピリオド)」「":"(コロン)」でも可能です。

また、joinメソッドはString型の配列でも使用することができます。

String型の配列を指定した場合のjoinメソッドの使用方法を、以下に記述します。

public class Main {
    public static void main(String[] args) throws Exception {
                
        //joinを使用する
        String strarray[] = {"apple", "orange", "melon"};
        String str = String.join(",", strarray);
        System.out.println(str);
    }
}

実行結果

apple,orange,melon

サンプルでは、String型の配列を定義し、joinメソッドを使用して第一引数にデリミタを指定し、第二引数にString型配列を指定しています。大量のString型配列を連結する場合も、配列ごと一気に連結ができますので、非常に便利です。

StringJoinerの使い方

joinメソッドのクラスであるStringJoinerについても、join同様に文字を連結することが可能です。

StringJoinerを使用した文字列の連結方法を、以下に記述します。

import java.util.StringJoiner;

public class Main {
    public static void main(String[] args) throws Exception {
        
        //joinerを使用する
        String strarray[] = {"apple", "orange", "melon"};
        StringJoiner sj = new StringJoiner(",");
        
        for (String s : strarray)
        {
            sj.add(s);
        }
        System.out.println(sj.toString());   
    }
}

実行結果

apple,orange,melon

サンプルでは、String型配列を宣言して値を格納し、StringJoinerクラスを宣言して引数にデリミタを設定しています。次にStringJoinerの変数に、addメソッドでString型配列の値を順番に格納しています。

結果を確認すると、joinメソッド同様に文字列が連結されているのがわかります。

Stringについてもっと詳しく知りたい方へ

Stringのさまざまな使い方については、以下の記事にまとめていますので、ぜひ参考にしてくださいね!

まとめ

joinメソッドの基本的な使い方から、joinerメソッドの使い方まで説明しました。

文字列を連結する方法はいくつかありますが、java8からのjoinメソッドの追加によって、より簡単に文字列の連結が可能になったと言えます。

もし、joinメソッドの使用方法を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説