JavaScriptにはArray.join()
js>["Bill","Bob","Steve"].join(" and ")
Bill and Bob and Steve
Java にはこのような機能がありますか? 自分で何とかできると思いますStringBuilder
:
static public String join(List<String> list, String conjunction)
{
StringBuilder sb = new StringBuilder();
boolean first = true;
for (String item : list)
{
if (first)
first = false;
else
sb.append(conjunction);
sb.append(item);
}
return sb.toString();
}
.. しかし、同様のものがすでに JDK の一部になっている場合は、これを行う意味はありません。
ベストアンサー1
String.join
Java 8 では、サードパーティのライブラリなしでこれを実行できます。
文字列のコレクションに参加したい場合は、String.join
()方法:
List<String> list = Arrays.asList("foo", "bar", "baz");
String joined = String.join(" and ", list); // "foo and bar and baz"
Collectors.joining
文字列以外の型のコレクションがある場合は、Stream APIを次のように使用できます。コレクターに参加する:
List<Person> list = Arrays.asList(
new Person("John", "Smith"),
new Person("Anna", "Martinez"),
new Person("Paul", "Watson ")
);
String joinedFirstNames = list.stream()
.map(Person::getFirstName)
.collect(Collectors.joining(", ")); // "John, Anna, Paul"
のStringJoiner
クラスも役に立つかもしれません。