Объединяет числа в Java 8 для одинарных кавычек и запятых - PullRequest
0 голосов
/ 27 сентября 2018

Я новичок в Java 8 и надеюсь реализовать ниже только в Java 8.

У меня есть следующие цифры

1111
2222
3333
4444

Я хочу преобразовать всеэти числа, такие как '1111', '2222', '3333', '4444' Список чисел может быть любым, и он должен быть динамическим

Я разработал код, как показано ниже, но только серверы наполовину предназначены

List<String> numbers = Arrays.asList("111", "2222", "3333", "4444");
        String collect = numbers.stream().map(n -> n).collect(Collectors.joining(",'"));
        System.out.println(collect);

Вывод:

111,'2222,'3333,'4444

Ответы [ 3 ]

0 голосов
/ 27 сентября 2018
String numbers = Arrays.asList("111", "2222", "3333", "4444").stream()
    .map(number -> "'" + number + "'")
    .collect(Collectors.joining(",")));

Это даст вам

"111,'2222,'3333,'4444"

Как предлагается в комментариях, вы также можете сделать это, непосредственно создав поток с числами, а не создав список и затем поток.

Stream.of("111", "2222", "3333", "4444")
        .map(number -> "'" + number + "'")
        .collect(Collectors.joining(",")));
0 голосов
/ 27 сентября 2018

Для удовольствия, используя StringBuilder и пользовательский сборщик:

String result = Arrays.asList("111", "2222", "3333", "4444")
            .stream()
            .collect(Collector.of(
                    StringBuilder::new,
                    (sb, s) -> sb.append('\'').append(s).append('\'').append(","),
                    StringBuilder::append,
                    sb -> {
                        sb.setLength(Math.max(0, sb.length() - 1));
                        return sb.toString();
                    }));
0 голосов
/ 27 сентября 2018

Просто так:

List<String> numbers = Arrays.asList("111", "2222", "3333", "4444");
String collect = numbers.stream().map(n -> "'" + n + "'").collect(Collectors.joining(","));
System.out.println(collect);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...