Java 8 StringJoiner
Данная статья написана командой Vertex Academy. Это одна из статей из нашего Учебника по Java 8. Надеемся, что данная статья Вам будет полезна. Приятного прочтения!
В этой статье мы рассмотрим создание строк с помощью StringJoiner в Java 8.
1. StringJoiner
Конструктор StringJoiner принимает параметр - разделитель (delimiter)
1 2 3 4 5 6 7 |
public static void main(String[] args) { StringJoiner joiner = new StringJoiner(", "); joiner.add("John"); joiner.add("Danny"); joiner.add("Lui"); System.out.println(joiner.toString()); //output John, Danny, Lui } |
Другой конструктор StringJoiner принимает разделитель, префикс и суффикс
1 2 3 4 5 6 7 |
public static void main(String[] args) { StringJoiner joiner = new StringJoiner(". ", "(", ")"); joiner.add("John"); joiner.add("Danny"); joiner.add("Lui"); System.out.println(joiner.toString()); //output (John. Danny. Lui) } |
2. String join
В Java 8 в класс String добавили методы join:
Для соединение строк
1 2 3 4 |
public static void main(String[] args) { String numbers = String.join("-", "1", "0", "1", "0"); System.out.println(numbers); //output 1-0-1-0 } |
и Iterable
1 2 3 4 5 |
public static void main(String[] args) { List<String> databases = Arrays.asList("OracleDB", "Mongo", "PostgreSQL", "MySQL"); String string = String.join(", ", databases); System.out.println(string); //output OracleDB, Mongo, PostgreSQL, MySQL } |
3. Collectors joining
Так же можно собрать коллекцию в строку с помощью Stream API
Пример с разделителем
1 2 3 4 5 6 7 8 |
public static void main(String[] args) { List<String> frameworks = Arrays.asList("Spring", "Hibernate", "JPA", "JSF"); String collect = frameworks.stream() .collect(Collectors.joining("; ")); System.out.println(collect); //output Spring; Hibernate; JPA; JSF } |
Пример с разделителем, префиксом и суффиксом
1 2 3 4 5 6 7 8 |
public static void main(String[] args) { List<String> list = Arrays.asList("Angular", "Bootstrap", "NodeJS", "Django"); String collect = list.stream() .collect(Collectors.joining("; ", "{", "}")); System.out.println(collect); //output {Angular; Bootstrap; NodeJS; Django} } |
В Java 8 есть еще множество полезных нововведений, которые можно найти тут
Надеемся - наша статья была Вам полезна. Есть возможность записаться на наши курсы по Java в Киеве. Детальную информацию смотрите у нас на сайте.