Все ссылки на Apache Commons хороши (и это то, что использует большинство людей), но я думаю, что эквивалент Guava, Joiner, имеет гораздо более приятный API.
Вы можете выполнить простое объединение с помощью
Joiner.on(" and ").join(names)
но также легко справляться с нулевыми значениями:
Joiner.on(" and ").skipNulls().join(names);
или
Joiner.on(" and ").useForNull("[unknown]").join(names);
и (насколько я понимаю, достаточно полезный, чтобы использовать его предпочтительнее commons-lang), возможность работать с картами:
Map<String, Integer> ages = .....; Stringfoo= Joiner.on(", ").withKeyValueSeparator(" is ").join(ages); // Outputs: // Bill is 25, Joe is 30, Betty is 35
что чрезвычайно полезно для отладки и т.д.
Ответ 3
Не из коробки, но во многих библиотеках есть похожие: