Package org.apache.commons.lang.math

## Class DoubleRange

- java.lang.Object
- - org.apache.commons.lang.math.Range
  - - org.apache.commons.lang.math.DoubleRange

- All Implemented Interfaces:
    `Serializable`

      public final class DoubleRange
      extends Range
      implements Serializable

  `DoubleRange` represents an inclusive range of `double`s.

  Since:
    2.0
  Version:
    $Id: DoubleRange.java 1057072 2011-01-10 01:55:57Z niallp $
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DoubleRange​(double number)` | Constructs a new `DoubleRange` using the specified number as both the minimum and maximum in this range.
    `DoubleRange​(double number1, double number2)` | Constructs a new `DoubleRange` with the specified minimum and maximum numbers (both inclusive).
    `DoubleRange​(Number number)` | Constructs a new `DoubleRange` using the specified number as both the minimum and maximum in this range.
    `DoubleRange​(Number number1, Number number2)` | Constructs a new `DoubleRange` with the specified minimum and maximum numbers (both inclusive).

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `containsDouble​(double value)` | Tests whether the specified `double` occurs within this range using `double` comparison.
    `boolean` | `containsNumber​(Number number)` | Tests whether the specified `number` occurs within this range using `double` comparison.
    `boolean` | `containsRange​(Range range)` | Tests whether the specified range occurs entirely within this range using `double` comparison.
    `boolean` | `equals​(Object obj)` | Compares this range to another object to test if they are equal.
    `double` | `getMaximumDouble()` | Gets the maximum number in this range as a `double`.
    `float` | `getMaximumFloat()` | Gets the maximum number in this range as a `float`.
    `int` | `getMaximumInteger()` | Gets the maximum number in this range as a `int`.
    `long` | `getMaximumLong()` | Gets the maximum number in this range as a `long`.
    `Number` | `getMaximumNumber()` | Returns the maximum number in this range.
    `double` | `getMinimumDouble()` | Gets the minimum number in this range as a `double`.
    `float` | `getMinimumFloat()` | Gets the minimum number in this range as a `float`.
    `int` | `getMinimumInteger()` | Gets the minimum number in this range as a `int`.
    `long` | `getMinimumLong()` | Gets the minimum number in this range as a `long`.
    `Number` | `getMinimumNumber()` | Returns the minimum number in this range.
    `int` | `hashCode()` | Gets a hashCode for the range.
    `boolean` | `overlapsRange​(Range range)` | Tests whether the specified range overlaps with this range using `double` comparison.
    `String` | `toString()` | Gets the range as a `String`.

    - ### Methods inherited from class org.apache.commons.lang.math.Range

      `containsDouble, containsFloat, containsFloat, containsInteger, containsInteger, containsLong, containsLong`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### DoubleRange

          public DoubleRange​(double number)

      Constructs a new `DoubleRange` using the specified number as both the minimum and maximum in this range.

      Parameters:
        `number` - the number to use for this range
      Throws:
        `IllegalArgumentException` - if the number is `NaN`

    - #### DoubleRange

          public DoubleRange​(Number number)

      Constructs a new `DoubleRange` using the specified number as both the minimum and maximum in this range.

      Parameters:
        `number` - the number to use for this range, must not be `null`
      Throws:
        `IllegalArgumentException` - if the number is `null`
        `IllegalArgumentException` - if the number is `NaN`

    - #### DoubleRange

          public DoubleRange​(double number1,
                             double number2)

      Constructs a new `DoubleRange` with the specified minimum and maximum numbers (both inclusive).

      The arguments may be passed in the order (min,max) or (max,min). The getMinimum and getMaximum methods will return the correct values.

      Parameters:
        `number1` - first number that defines the edge of the range, inclusive
        `number2` - second number that defines the edge of the range, inclusive
      Throws:
        `IllegalArgumentException` - if either number is `NaN`

    - #### DoubleRange

          public DoubleRange​(Number number1,
                             Number number2)

      Constructs a new `DoubleRange` with the specified minimum and maximum numbers (both inclusive).

      The arguments may be passed in the order (min,max) or (max,min). The getMinimum and getMaximum methods will return the correct values.

      Parameters:
        `number1` - first number that defines the edge of the range, inclusive
        `number2` - second number that defines the edge of the range, inclusive
      Throws:
        `IllegalArgumentException` - if either number is `null`
        `IllegalArgumentException` - if either number is `NaN`

  - ### Method Detail

    - #### getMinimumNumber

          public Number getMinimumNumber()

      Returns the minimum number in this range.

      Specified by:
        `getMinimumNumber` in class `Range`
      Returns:
        the minimum number in this range

    - #### getMinimumLong

          public long getMinimumLong()

      Gets the minimum number in this range as a `long`.

      This conversion can lose information for large values or decimals.

      Overrides:
        `getMinimumLong` in class `Range`
      Returns:
        the minimum number in this range

    - #### getMinimumInteger

          public int getMinimumInteger()

      Gets the minimum number in this range as a `int`.

      This conversion can lose information for large values or decimals.

      Overrides:
        `getMinimumInteger` in class `Range`
      Returns:
        the minimum number in this range

    - #### getMinimumDouble

          public double getMinimumDouble()

      Gets the minimum number in this range as a `double`.

      Overrides:
        `getMinimumDouble` in class `Range`
      Returns:
        the minimum number in this range

    - #### getMinimumFloat

          public float getMinimumFloat()

      Gets the minimum number in this range as a `float`.

      This conversion can lose information for large values.

      Overrides:
        `getMinimumFloat` in class `Range`
      Returns:
        the minimum number in this range

    - #### getMaximumNumber

          public Number getMaximumNumber()

      Returns the maximum number in this range.

      Specified by:
        `getMaximumNumber` in class `Range`
      Returns:
        the maximum number in this range

    - #### getMaximumLong

          public long getMaximumLong()

      Gets the maximum number in this range as a `long`.

      This conversion can lose information for large values or decimals.

      Overrides:
        `getMaximumLong` in class `Range`
      Returns:
        the maximum number in this range

    - #### getMaximumInteger

          public int getMaximumInteger()

      Gets the maximum number in this range as a `int`.

      This conversion can lose information for large values or decimals.

      Overrides:
        `getMaximumInteger` in class `Range`
      Returns:
        the maximum number in this range

    - #### getMaximumDouble

          public double getMaximumDouble()

      Gets the maximum number in this range as a `double`.

      Overrides:
        `getMaximumDouble` in class `Range`
      Returns:
        the maximum number in this range

    - #### getMaximumFloat

          public float getMaximumFloat()

      Gets the maximum number in this range as a `float`.

      This conversion can lose information for large values.

      Overrides:
        `getMaximumFloat` in class `Range`
      Returns:
        the maximum number in this range

    - #### containsNumber

          public boolean containsNumber​(Number number)

      Tests whether the specified `number` occurs within this range using `double` comparison.

      `null` is handled and returns `false`.

      Specified by:
        `containsNumber` in class `Range`
      Parameters:
        `number` - the number to test, may be `null`
      Returns:
        `true` if the specified number occurs within this range

    - #### containsDouble

          public boolean containsDouble​(double value)

      Tests whether the specified `double` occurs within this range using `double` comparison.

      This implementation overrides the superclass for performance as it is the most common case.

      Overrides:
        `containsDouble` in class `Range`
      Parameters:
        `value` - the double to test
      Returns:
        `true` if the specified number occurs within this range by `double` comparison

    - #### containsRange

          public boolean containsRange​(Range range)

      Tests whether the specified range occurs entirely within this range using `double` comparison.

      `null` is handled and returns `false`.

      Overrides:
        `containsRange` in class `Range`
      Parameters:
        `range` - the range to test, may be `null`
      Returns:
        `true` if the specified range occurs entirely within this range
      Throws:
        `IllegalArgumentException` - if the range is not of this type

    - #### overlapsRange

          public boolean overlapsRange​(Range range)

      Tests whether the specified range overlaps with this range using `double` comparison.

      `null` is handled and returns `false`.

      Overrides:
        `overlapsRange` in class `Range`
      Parameters:
        `range` - the range to test, may be `null`
      Returns:
        `true` if the specified range overlaps with this range

    - #### equals

          public boolean equals​(Object obj)

      Compares this range to another object to test if they are equal.

      .

      To be equal, the class, minimum and maximum must be equal.

      Overrides:
        `equals` in class `Range`
      Parameters:
        `obj` - the reference object with which to compare
      Returns:
        `true` if this object is equal

    - #### hashCode

          public int hashCode()

      Gets a hashCode for the range.

      Overrides:
        `hashCode` in class `Range`
      Returns:
        a hash code value for this object

    - #### toString

          public String toString()

      Gets the range as a `String`.

      The format of the String is 'Range[min,max]'.

      Overrides:
        `toString` in class `Range`
      Returns:
        the `String` representation of this range