On Sat, 19 Sep 2026 10:05:35 GMT, Tagir F. Valeev <[email protected]> wrote:
>> Three options were suggested about the new API: >> - ListFormat.formatting() >> - ListFormat.toCollector() >> - Collectors.listFormatting(ListFormat) static method >> I feel it should belong to ListFormat, but I'm open to discussions. >> >> For testing, I tested a couple of scenarios and a few corner cases (empty >> stream, null element, parallel stream) in a simple non-parameterized JUnit >> test. I believe that it's enough, given that the implementation is trivial, >> and ListFormat itself, as well as Stream API is already thoroughly tested by >> other tests. Tell me if you feel that some testing scenarios are missing, >> I'll happily add them. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Tagir F. Valeev has updated the pull request incrementally with one > additional commit since the last revision: > > 8391789: Dumb error fix Changes requested by [email protected] (no known OpenJDK username). src/java.base/share/classes/java/util/stream/Collectors.java line 368: > 366: * > 367: * <p>The returned Collector requires at least one input element. > 368: * It will throw {@link IllegalArgumentException} if there are no > input elements. This behavior is very unintuitive to me. I propose to return the empty string if there are no input elements, like the existing `joining` methods do. In particular, I'd expect to be able to refactor existing usages of `joining` by simply replacing `stream.collect(joining(delimiter))` with `stream.collect(joining(listFormat))`. ------------- PR Review: https://git.openjdk.org/jdk/pull/32716#pullrequestreview-5256509589 PR Review Comment: https://git.openjdk.org/jdk/pull/32716#discussion_r4053854526
