Я использую потоки для конкатенации ряда строк и добавления запятых между ними, но в начале или в конце строки результата не должно быть запятой.Java Streams: Есть ли более чистый способ сделать это?
import java.util.Arrays;
import java.util.List;
public class QuestionNine {
public static void main(String[] args) {
new QuestionNine().launch();
}
public void launch(){
List<String> words = Arrays.asList("Hello", "Bonjour", "engine", "Hurray", "What",
"Dog", "boat", "Egg", "Queen", "Soq", "Eet");
String result = (words.stream().map(str -> str + ",").reduce("", (a,b) -> a + b));
result = result.substring(0, result.length() -1); //removes last comma
System.out.println(result);
}
}
Вместо использования метода String.substring()
в конце, чтобы избавиться от последней запятой, есть способ, я мог бы удалил последнюю запятую внутри трубопровода потока?
Просто используйте 'String # join'. Или собирайте поток с помощью 'Collectors.joining (", ")' –