1、连接字符串

joining工厂方法返回的收集器会把对流中每一个对象应用toString方法得到的所有字符 串连接成一个字符串。
这意味着你把菜单中所有菜肴的名称连接起来,如下所示:
String shortMenu = menu.stream().map(Dish::getName).collect(Collectors.joining());
请注意,joining在内部使用了StringBuilder来把生成的字符串逐个追加起来。
此外还要注意,如果Dish类有一个toString方法来返回菜肴的名称,那你无需用提取每一道菜名称的函数来对原流做映射就能够得到相同的结果:
String shortMenu = menu.stream().collect(Collectors.joining());
但该字符串的可读性并不好。
joining工厂方法有一个重载版本可以接受元素之间的分界符,这样就可以得到一个逗号分隔的菜肴名称列表:
String shortMenu = menu.stream().map(Dish::getName).collect(Collectors.joining(“, “));