Collectors.joining(…)基于类
StringJoiner。它提供了定界符,前缀和后缀功能,但不幸的是没有提供空值的功能。
要添加该功能,我们将不得不重新实现
Collectors.joining,幸运的是,使用时,它并不难
StringJoiner。
更改流操作的最后一行
.collect(Collectors.joining("/"));至
.filter(Objects::nonNull) // elide all null elements.collect(()->new StringJoiner("/", "", "").setEmptyValue("null"), // use "null" when empty StringJoiner::add, StringJoiner::merge).toString();


