Integrated: 8356995: Provide default methods min(T, T) and max(T, T) in Comparator interface

Tagir F. Valeev tvaleev at openjdk.org
Fri Sep 19 07:22:49 UTC 2025


On Mon, 19 May 2025 07:25:17 GMT, Tagir F. Valeev <tvaleev at openjdk.org> wrote:

> 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.

This pull request has now been integrated.

Changeset: 48d394a2
Author:    Tagir F. Valeev <tvaleev at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/48d394a245e7d16423b3829efa326fe72605c8ee
Stats:     138 lines in 2 files changed: 136 ins; 1 del; 1 mod

8356995: Provide default methods min(T, T) and max(T, T) in Comparator interface

Reviewed-by: rriggs, smarks

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

PR: https://git.openjdk.org/jdk/pull/25297


More information about the core-libs-dev mailing list