On Thu, 7 Aug 2025 21:01:46 GMT, Alexey Ushakov <a...@openjdk.org> wrote:

>> I don't really understand how this could simplify the check.
>> For wrapping, instead of `obj == null ? null : new WeakReference<>(obj)` it 
>> would become `Optional.ofNullable(obj).flatMap(e -> Optional.of(new 
>> WeakReference<>(obj)))`.
>> And for comparing the state, it would need to repeat the same logic with 
>> special treatment of `null` refs, just replacing the null check with 
>> `isEmpty()` - is this what you meant?
>> Overall, it seems easier to me to understand the null-check version, than 
>> the one wrapped into `Optional`.
>
> Actually, state change is also oneliner, but if you think that it's too 
> complex for understanding, let's keep the original version.
> !mbRef.flatMap(e-> 
> Optional.ofNullable(e.get())).equals(Optional.ofNullable(obj));

Actually, that version wouldn't work, as it doesn't distinguish between null 
ref itself and null ref value. So yes, let's better keep the null checks

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26576#discussion_r2263422407

Reply via email to