Рубрики
Без рубрики

Преобразование списка в строку на Java

Узнайте, как преобразовать список в строку с помощью различных методов.

Автор оригинала: baeldung.

1. Введение

В этой быстрой статье мы посмотрим, как преобразовать Список элементов к Струнные . Это может быть полезно в некоторых сценариях, таких как печать содержимого консоли в читаемой человеком форме для проверки/отладки.

2. Стандартный toString() в списке

Один из самых простых способов заключается в том, чтобы просто toString () метод на Список :

@Test
public void whenListToString_thenPrintDefault() {
    List intLIst = Arrays.asList(1, 2, 3);
 
    System.out.println(intLIst);
}

выпуск:

[1, 2, 3]

Этот метод внутренне использует toString () метод типа элементов в пределах Список . В нашем случае мы используем Интегер тип, который имеет надлежащую реализацию toString () метод.

Если мы используем наш пользовательский тип, скажем, Лицо , то мы должны убедиться, что Лицо класс переопределяет toString () метод и не полагается на реализацию по умолчанию. Если toString () метод не реализован должным образом, вы можете получить неожиданные результаты:

3. Пользовательская реализация с использованием коллекторов

Часто может потребоваться отображение вывода в другом формате.

По сравнению с предыдущим примером, давайте заменим запятую (,) дефисом (-) и квадратные скобки (ям. ) набором фигурных скобок (я)

@Test
public void whenCollectorsJoining_thenPrintCustom() {
    List intList = Arrays.asList(1, 2, 3);
    String result = intList.stream()
      .map(n -> String.valueOf(n))
      .collect(Collectors.joining("-", "{", "}"));
 
    System.out.println(result);
}

выпуск:

{1-2-3}

Коллекционеры.присоединение () метод требует ШарСекенс , поэтому мы должны карта Интегер Струнные . Та же идея может быть использована в случае любого другого класса, даже если у нас нет доступа к коду этого класса.

4. Использование внешней библиотеки

Теперь мы увидим использование карт Apache Commons СтрингУтилс класса для достижения аналогичных результатов.

4.1. Зависимость от Maven


    org.apache.commons
    commons-lang3
    3.11

Последнюю версию зависимости можно найти здесь .

4.2. Осуществление

Реализация – это буквально один вызов метода:

@Test
public void whenStringUtilsJoin_thenPrintCustom() {
    List intList = Arrays.asList(1, 2, 3);
 
    System.out.println(StringUtils.join(intList, "|"));
}

выпуск:

1|2|3

Опять же, эта реализация внутренне зависит от toString () реализации типа, который мы рассматриваем.

5. Заключение

В этой статье мы увидели, как легко преобразовать Список к Струнные с использованием различных методов.

Как всегда, полный исходный код для этой статьи можно найти более на GitHub .