将流连接到单个 String
经常遇到的用例是从流创建 String
,其中 stream-items 由特定字符分隔。Collectors.joining()
方法可以用于此,如下例所示:
Stream<String> fruitStream = Stream.of("apple", "banana", "pear", "kiwi", "orange");
String result = fruitStream.filter(s -> s.contains("a"))
.map(String::toUpperCase)
.sorted()
.collect(Collectors.joining(", "));
System.out.println(result);
输出:
苹果,香蕉,橙子,梨
Collectors.joining()
方法还可以满足前缀和后缀:
String result = fruitStream.filter(s -> s.contains("e"))
.map(String::toUpperCase)
.sorted()
.collect(Collectors.joining(", ", "Fruits: ", "."));
System.out.println(result);
输出:
水果:苹果,橙子,梨。