javaでrubyのjoinメソッドのような文字列処理をする
配列から,で区切られた文字列を得たい場合、rubyならjoin
か*
が使える。
pryで使ってみるとこんな感じ。
2.1.5 (main):0 > %w(ruby java javascript).join(',') => "ruby,java,javascript" 2.1.5 (main):0 > %w(ruby java javascript) * ',' => "ruby,java,javascript"
さて、javaではどうするのかと調べたらjava7まで標準ライブラリにはなく、自前で実装するか外部ライブラリを使うしかなかったっぽい。
String.join
が、java8からはString.joinが使える。
使ってみる。
String[] strings = {"ruby","java","javascript"}; System.out.println(String.join(",", strings));
わかりやすい。
StringJoiner
String.joinの処理はStringJoiner
クラスがほとんど行っているのでStringJoiner
クラスでも同様にできる。
String[] strings = {"ruby","java","javascript"}; StringJoiner sj = new StringJoiner(","); for(String s:strings){ sj.add(s); } System.out.println(sj.toString());