Class ComparableUtils

java.lang.Object
org.apache.commons.lang3.compare.ComparableUtils

public class ComparableUtils extends Object
Utility library to provide helper methods for translating Comparable.compareTo(T) result into a boolean.

Example: boolean x = is(myComparable).lessThanOrEqualTo(otherComparable)

#ThreadSafe#

Since:
3.10
  • Method Details

    • between

      public static <A extends Comparable<A>> Predicate<A> between(A b, A c)
      Checks if [b <= a <= c] or [b >= a >= c] where the a is the tested object.
      Type Parameters:
      A - type of the test object
      Parameters:
      b - the object to compare to the tested object
      c - the object to compare to the tested object
      Returns:
      a predicate for true if the tested object is between b and c
    • betweenExclusive

      public static <A extends Comparable<A>> Predicate<A> betweenExclusive(A b, A c)
      Checks if (b < a < c) or (b > a > c) where the a is the tested object.
      Type Parameters:
      A - type of the test object
      Parameters:
      b - the object to compare to the tested object
      c - the object to compare to the tested object
      Returns:
      a predicate for true if the tested object is between b and c and not equal to those
    • ge

      public static <A extends Comparable<A>> Predicate<A> ge(A b)
      Checks if the tested object is greater than or equal to b
      Type Parameters:
      A - type of the test object
      Parameters:
      b - the object to compare to the tested object
      Returns:
      a predicate for true if the value returned by Comparable.compareTo(T) is greater than or equal to 0
    • gt

      public static <A extends Comparable<A>> Predicate<A> gt(A b)
      Checks if the tested object is greater than b
      Type Parameters:
      A - type of the test object
      Parameters:
      b - the object to compare to the tested object
      Returns:
      a predicate for true if the value returned by Comparable.compareTo(T) is greater than 0
    • is

      public static <A extends Comparable<A>> ComparableUtils.ComparableCheckBuilder<A> is(A a)
      Provides access to the available methods
      Type Parameters:
      A - type of the base object
      Parameters:
      a - base object in the further comparison
      Returns:
      a builder object with further methods
    • le

      public static <A extends Comparable<A>> Predicate<A> le(A b)
      Checks if the tested object is less than or equal to b
      Type Parameters:
      A - type of the test object
      Parameters:
      b - the object to compare to the tested object
      Returns:
      a predicate for true if the value returned by Comparable.compareTo(T) is less than or equal to 0
    • lt

      public static <A extends Comparable<A>> Predicate<A> lt(A b)
      Checks if the tested object is less than b
      Type Parameters:
      A - type of the test object
      Parameters:
      b - the object to compare to the tested object
      Returns:
      a predicate for true if the value returned by Comparable.compareTo(T) is less than 0
    • max

      public static <A extends Comparable<A>> A max(A comparable1, A comparable2)
      Returns the greater of two Comparable values, ignoring null.

      For three or more values, use ObjectUtils.max(Comparable...).

      Type Parameters:
      A - Type of what we are comparing.
      Parameters:
      comparable1 - the first comparable, may be null.
      comparable2 - the second comparable, may be null.
      Returns:
      the largest of comparable1 and comparable2.
      Since:
      3.13.0
      See Also:
    • min

      public static <A extends Comparable<A>> A min(A comparable1, A comparable2)
      Returns the lesser of two Comparable values, ignoring null.

      For three or more values, use ObjectUtils.min(Comparable...).

      Type Parameters:
      A - Type of what we are comparing.
      Parameters:
      comparable1 - the first comparable, may be null.
      comparable2 - the second comparable, may be null.
      Returns:
      the smallest of comparable1 and comparable2.
      Since:
      3.13.0
      See Also: