summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/collections/Comparables.java
blob: 5952c5ec012dc84e41c85d9e1efbbf10c311a363 (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
// 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;
    }
}