RFR: 8373243 : EnumSet.spliterator() should specify and document its characteristics

Alan Bateman alanb at openjdk.org
Mon Dec 8 12:16:56 UTC 2025


On Mon, 8 Dec 2025 11:30:21 GMT, Viktor Klang <vklang at openjdk.org> wrote:

> Addresses https://bugs.openjdk.org/browse/JDK-8373243 by copying and adapting the specification from https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/LinkedHashSet.java#L186-L204
> 
> Since EnumSet is sealed and only permits two final classes, the verbiage around "Implementations should document the reporting of additional characteristic values." may be considered to get removed from this PR. Kept, for now, for symmetry reasons.

src/java.base/share/classes/java/util/EnumSet.java line 512:

> 510:      * {@link Spliterator#DISTINCT}, {@link Spliterator#SORTED},
> 511:      * {@link Spliterator#NONNULL}, and {@link Spliterator#ORDERED}.
> 512:      * Implementations should document the reporting of additional characteristic values.

EnumSet is sealed and the permitted implementations are non-public/JDK-internal.  I'm wondering if the override should be specified "as if" the class were final.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/28696#discussion_r2598395899


More information about the core-libs-dev mailing list