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

Alan Bateman alanb at openjdk.org
Mon Dec 8 15:41:09 UTC 2025


On Mon, 8 Dec 2025 14:15:16 GMT, Viktor Klang <vklang at openjdk.org> wrote:

>> 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.
>
> I think I agree. So that'd mean removing "Implementations should document the reporting of additional characteristic values." _and_ making spliterator() **final** to ensure that it doesn't get invalidated by "accident". Does that sound reasonable to you?

Yes, I think that would work.

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

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


More information about the core-libs-dev mailing list