Java8で追加されたAPI String編
【概要】
今回はStringクラスに追加されたjoinメソッドについて調べてみました。
joinメソッドは文字列をデリミタをはさみ結合するメソッドです。
【使ってみる】
ということで早速サンプルコードで動きを見てみましょう。
[サンプルコード]
public class Sample { public static void main(final String[] args) { final List<String> test = new ArrayList<>(); System.out.println(String.join(",", test)); test.add("one"); System.out.println(String.join(",", test)); System.out.println(String.join(",", "one")); test.add("two"); test.add("three"); System.out.println(String.join(",", test)); System.out.println(String.join(",", "one", "two", "three")); } }
String#joinはstaticメソッドで、パラメータは2パターンあります。
1つ目はデリミタとIteratableを指定するパターンです。
Iteratableの中身はCharSequenceを継承したクラスです。
サンプルでは下記のコードが1つめのパターンです。
System.out.println(String.join(",", test));
2つ目はデリミタとCharSequeceの可変長パラメータを指定するパターンです。
サンプルでは下記のコードになります。
System.out.println(String.join(",", "one")); System.out.println(String.join(",", "one", "two", "three"));
サンプルでは上記の2パターンを下記のパターンで出力しています。
- 1つも値が設定されていない場合(Listのみ)
- 1つ値が設定されている場合
- 複数値が設定されている場合
[実行結果]
one one one,two,three one,two,three
値が設定されていない場合と1つ設定している場合は
デリミタが出力さていないことがわかります。
複数設定されている場合のみデリミタが出力されています。