Наверное, любому программисту доводилось видеть код, пестрящий большим количеством повторов и реализации «низкоуровневых» действий прямо посреди бизнес-логики. Например, посреди метода, печатающего отчёт, может оказаться такой фрагмент кода, конкатерирующий строки:
StringBuilder sb = new StringBuilder();
for (Iterator<String> i = debtors.iterator(); i.hasNext();) {
if (sb.length() != 0) {
sb.append(", ");
}
sb.append(i.next());
}
out.println("Debtors: " + sb.toString());
Понятно, что этот код мог бы быть более прямолинейным, например, в Java 8 можно написать так:
out.println("Debtors: " + String.join(", ", debtors));
Вот так сразу гораздо понятнее, что происходит. Google Guava – это набор open-source библиотек для Java, помогающий избавиться от подобных часто встречающихся шаблонов кода. Поскольку Guava появилась задолго до Java 8, в Guava тоже есть способ конкатенации строк: Joiner.on(", ").join(debtors).
Читать полностью »