RFR: 8356995: Provide default methods min(T, T) and max(T, T) in Comparator interface
Tagir F. Valeev
tvaleev at openjdk.org
Mon May 19 07:34:43 UTC 2025
Implementation of Comparator.min and Comparator.max methods. Preliminary discussion is in this thread:
https://mail.openjdk.org/pipermail/core-libs-dev/2025-May/145638.html
The specification is mostly composed of Math.min/max and Collections.min/max specifications.
The methods are quite trivial, so I don't think we need more extensive testing (e.g., using different comparators). But if you have ideas of new useful tests, I'll gladly add them.
I'm not sure whether we should specify exactly the behavior in case if the comparator returns 0. I feel that it could be a useful invariant that `Comparator.min(a, b)` and `Comparator.max(a, b)` always return different argument, partitioning the set of {a, b} objects (even if they are equal). But I'm open to suggestions here.
-------------
Commit messages:
- Fix linebreaks
- JDK-8356995 Provide default methods min(T, T) and max(T, T) in Comparator interface
Changes: https://git.openjdk.org/jdk/pull/25297/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25297&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8356995
Stats: 112 lines in 2 files changed: 110 ins; 1 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/25297.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/25297/head:pull/25297
PR: https://git.openjdk.org/jdk/pull/25297
More information about the core-libs-dev
mailing list