Есть массив:
Integer[] sums = new Integer[5];
предварительно уже заполненный элементами.
Для вывода элементов c новой строки при помощи функицонала Java8 используется:
Arrays.stream(sums).forEach(System.out::println);
Как сделать вывод,например, в одну строку, через запятую(после последнего элемента ничего) при помощи java8?
В одну строку print, добавить запятую внутри forEach, судя по всему, нельзя. Так еще нужно проверить условие на последний элемент.
Ну, стримы созданы для преобразования каждого отдельного элемента, независимо от предыдущих. Поэтому с проверкой последнего ничего не выйдет, если не костылизировать через limit и skip с созданием второй копии стрима.
Если нужен именно стрим, то я предложу только такой вариант:
System.out.println(Arrays.stream(sums)
.map(String::valueOf)
.collect(Collectors.joining(", "))
);
Можно, например, так:
System.out.println(Arrays.stream(sums).map(String::valueOf).collect(Collectors.joining(",")));
Конечно, костыльный метод, но могу предложить:
String tmp =""+sums[0];
for(int i=1; i<5; i++){
tmp+=", "+sums[i];
}
System.out.print(tmp);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
IntellIJ IDEA JSP не видит объекты, которые я передаю из контроллера