Hi Tagir,
Thanks. That seems like a useful suggestion. I hadn't considered using
it with streams.
Filed an RFE: https://bugs.openjdk.org/browse/JDK-8391789
Naoto
On 9/3/26 12:37 AM, Tagir Valeev wrote:
Hello!
I recently discovered the java.text.ListFormat API which appeared since
Java 22. It's great and useful, but I feel that it misses a Collector.
It's very possible that the original strings are available in the
Stream, rather than in the List, and it would be nice to be able to join
the stream directly, without intermediate List, like we can do with
Collectors.joining(). So I would propose adding a new instance method to
ListFormat, like
public Collector<String, ?, String> formatting() {...}
or probably, to be more consistent with Collectors.joining(), it could be
public Collector<CharSequence, ?, String> formatting() {...}
The initial implementation could be trivial:
public Collector<CharSequence, ?, String> formatting() {
return
Collectors.collectingAndThen(Collectors.mapping(CharSequence::toString,
Collectors.toList()), this::format);
}
Or without 'mapping' step, if we want to limit the input to strings.
What do you think?
With best regards,
Tagir Valeev