RFR: 8356995: Provide default methods min(T, T) and max(T, T) in Comparator interface [v3]
Tagir F. Valeev
tvaleev at openjdk.org
Thu May 22 07:20:11 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.
Tagir F. Valeev has updated the pull request incrementally with two additional commits since the last revision:
- MinMaxTest: remove unnecessary public modifier
- Use <em> instead of <i>
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/25297/files
- new: https://git.openjdk.org/jdk/pull/25297/files/9edc73e2..b750c3fa
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=25297&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=25297&range=01-02
Stats: 7 lines in 2 files changed: 0 ins; 0 del; 7 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