JavaRush /Java блог /Random UA /У Java 8 можна поєднувати рядки
theGrass
24 рівень
Саратов

У Java 8 можна поєднувати рядки

Стаття з групи Random UA
Я впевнений, що ви були в ситуації, де хотіли об'єднувати кілька рядків. Якщо ви писали не на Java, то ймовірно ви використовували функцію join()надану вам мовою програмування. Якщо ви писали на Java, то не могли цього зробити з простої причини цього методу не було. Стандартна бібліотека класів Java надавала вам інструменти для створення програм з графічним інтерфейсом, для доступу до баз даних, для відправки даних по мережі, для XML перетворень або для виклику методів сторонніх бібліотек. Простий спосіб з'єднання колекції рядків не був включений. Для цього вам потрібна була одна з безлічі сторонніх бібліотек. У Java 8 можна поєднувати рядки - 1На щастя, цьому прийшов кінець! У Java 8 ми, нарешті, можемо поєднувати рядки! У Java 8 додано новий клас, званийStringJoiner. Як випливає з назви, ми можемо використовувати цей клас, щоб поєднувати рядки:
StringJoiner joiner = new StringJoiner(",");
joiner.add("foo");
joiner.add("bar");
joiner.add("baz");
String joined = joiner.toString(); // "foo,bar,baz"

// add() calls can be chained
joined = new StringJoiner("-")
.add("foo")
.add("bar")
.add("baz")
.toString(); // "foo-bar-baz"
Stringвикористовує два нових статичних методи join() StringJoiner:
// join(CharSequence delimiter, CharSequence... elements)
String joined = String.join("/", "2014", "10", "28" ); // "2014/10/28"

// join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
List<String> list = Arrays.asList("foo", "bar", "baz");
joined = String.join(";", list); // «foo;bar;baz"
Також для об'єднання рядків існує спеціальний Collectorу новому 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»
Таким чином, нам справді більше не потрібні сторонні бібліотеки для об'єднання рядків! Оригінал статті
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ