RFR: 8199318: add idempotent copy operation for Map.Entry
RĂ©mi Forax
forax at openjdk.java.net
Wed Jun 2 07:38:27 UTC 2021
On Wed, 2 Jun 2021 00:39:25 GMT, Stuart Marks <smarks at openjdk.org> wrote:
> I'm fixing this along with a couple intertwined issues.
>
> 1. Add Map.Entry::copyOf as an idempotent copy operation.
>
> 2. Clarify that AbstractMap.SimpleImmutableEntry is itself unmodifiable (not really immutable) but that subclasses can be modifiable.
>
> 3. Clarify some confusing, historical wording about Map.Entry instances being obtainable only via iteration of a Map's entry-set view. This was never really true, since anyone could implement the Map.Entry interface, and it certainly was not true since JDK 1.6 when SimpleEntry and SimpleImmutableEntry were added.
LGTM,
i wonder if we should not declare SimpleImmutableEntry final, while it's not a backward compatible change,
it's may be better on the long term because SimpleImmutableEntry is already used as an immutable type,
so instead of documenting the fact that SimpleImmutableEntry is not declared final thus SimpleImmutableEntry as a type does not guarantte shallow immutability, it may be better to fix the root cause.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4295
More information about the core-libs-dev
mailing list