On Tue, 22 Apr 2025 11:22:52 GMT, Per Minborg <[email protected]> wrote:
>> src/java.base/share/classes/java/util/ImmutableCollections.java line 1592:
>>
>>> 1590: final K k = inner.getKey();
>>> 1591: return new NullableKeyValueHolder<>(k,
>>> inner.getValue().orElseSet(new Supplier<V>() {
>>> 1592: @Override public V get() { return
>>> mapper.apply(k); }}));
>>
>> I suppose you could potentially make this more lazy by returning an `Entry`
>> implementation that only evaluates the mapper when calling `Entry::getValue`.
>
> Yepp. Interesting idea.
This lazy `Entry` implementation should then also have a `toString` that
doesn't evaluate the contents. It should also be used in `forEachRemaining`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23972#discussion_r2059377365