UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Java】joinメソッドで文字列を連結する

普段Javaを触らないので、いまさらJavaのjoinメソッドをしった

Java8で追加されたAPIで、Java7以前では以下のような書き方をしていたが

List<String> stringList = new ArrayList<>();
stringList.add("foo");
stringList.add("bar");
stringList.add("baz");

SpringBuilder message = new StringBuilder();
for (String word : stringList) {
  message.append(word);
  message.append(" ");
}
if (message.length() > 0) {
  message.deleteCharAt(message.length() - 1);
}

System.out.println(message.toString());

foo bar baz

これをjoinメソッドを使うと

List<String> stringList = new ArrayList<>();
stringList.add("foo");
stringList.add("bar");
stringList.add("baz");

String message = String.join(" ", stringList);

System.out.println(message.toString());

でかけるようになるし、以下でもかける

String message = String.join(" ", "foo", "bar", "baz");

Javaの文字列連結しんどいイメージがあったが簡単になっててよかった(いまさら