Java8のStringJoinerの使い方

Java8からjava.util.StringJoinerクラスが追加されました。

StringJoinerは引数が文字列のコンストラクタになるので以下のようにnewするとエラーとなります。

StringJoiner joiner = new StringJoiner();

空文字を指定するとエラーにはなりません。

StringJoiner joiner = new StringJoiner("");

引数にはセパレータを指定しますが、セパレータがなければ上記のように空文字にします。

以下、例です。

import java.util.StringJoiner;

public class Sample {
  public static void main(String[] args) {
    StringJoiner joiner = new StringJoiner("");

    joiner.add("a");
    joiner.add("i");
    joiner.add("u");
    joiner.add("e");
    joiner.add("o");

    System.out.println(joiner);
  }
}

結果は以下のようになります。

aiueo

セパレータに”,”を指定すると、以下のような結果になります。

a,i,u,e,o

StringJoinerは第二引数、第三引数も指定でき、第二引数はプレフィックス、第三引数は差フィックスを指定します。

以下、例です。

import java.util.StringJoiner;

public class Sample {
  public static void main(String[] args) {
    StringJoiner joiner = new StringJoiner(",","[","]");

    joiner.add("a");
    joiner.add("i");
    joiner.add("u");
    joiner.add("e");
    joiner.add("o");

    System.out.println(joiner);
  }
}

結果は以下のようになります。

[a,i,u,e,o]

・setEmptyValue

setEmptyValueと言うメソッドが用意されており、addしていない場合のデフォルト値をセットするメソッドです。addしていない場合は、プレフィックス、サフィックスを指定していても無視されてsetEmptyValueで指定した文字列が表示されます。

以下、例です。

import java.util.StringJoiner;

public class Sample {
  public static void main(String[] args) {
    StringJoiner joiner = new StringJoiner(",","[","]");// プレフィックス、サフィックスを指定している

    joiner.setEmptyValue("default");
    System.out.println(joiner);
  }
}

結果は以下のようになります。

default
スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA