1. Введение
В этой быстрой статье мы посмотрим, как преобразовать Список элементов к Струнные . Это может быть полезно в некоторых сценариях, таких как печать содержимого консоли в читаемой человеком форме для проверки/отладки.
2. Стандартный toString() в списке
Один из самых простых способов заключается в том, чтобы просто toString () метод на Список :
@Test public void whenListToString_thenPrintDefault() { ListintLIst = Arrays.asList(1, 2, 3); System.out.println(intLIst); }
выпуск:
[1, 2, 3]
Этот метод внутренне использует toString () метод типа элементов в пределах Список . В нашем случае мы используем Интегер тип, который имеет надлежащую реализацию toString () метод.
Если мы используем наш пользовательский тип, скажем, Лицо , то мы должны убедиться, что Лицо класс переопределяет toString () метод и не полагается на реализацию по умолчанию. Если toString () метод не реализован должным образом, вы можете получить неожиданные результаты:
3. Пользовательская реализация с использованием коллекторов
Часто может потребоваться отображение вывода в другом формате.
По сравнению с предыдущим примером, давайте заменим запятую (,) дефисом (-) и квадратные скобки (ям. ) набором фигурных скобок (я)
@Test public void whenCollectorsJoining_thenPrintCustom() { ListintList = 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() { ListintList = Arrays.asList(1, 2, 3); System.out.println(StringUtils.join(intList, "|")); }
выпуск:
1|2|3
Опять же, эта реализация внутренне зависит от toString () реализации типа, который мы рассматриваем.
5. Заключение
В этой статье мы увидели, как легко преобразовать Список к Струнные с использованием различных методов.
Как всегда, полный исходный код для этой статьи можно найти более на GitHub .