aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/collections/Comparables.java
blob: 1f97cdd1ee3038979eeceabf729df947ac6f5a2a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

package com.yahoo.collections;

/**
 * Utilities for {@link Comparable} classes.
 *
 * @author hakon
 */
public class Comparables {

    /**
     * Returns the least element, or {@code first} if they are equal according to
     * {@link Comparable#compareTo(Object) compareTo}.
     */
    public static <T extends Comparable<? super T>> T min(T first, T second) {
        return first.compareTo(second) <= 0 ? first : second;
    }

    /**
     * Returns the least element, or {@code second} if they are equal according to
     * {@link Comparable#compareTo(Object) compareTo}.
     */
    public static <T extends Comparable<? super T>> T max(T first, T second) {
        return first.compareTo(second) <= 0 ? second : first;
    }

}